无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

[已解决] 数据库自动备份脚本sh,无法备份原因!

今天在使用数据库自动备份的时候无法备份!
自动备份http://wdlinux.cn/bbs/thread-7809-1-1.html
运行数据库导出命令出现如下错误(数据库表数量不多的能备份,表多的出现如下错误!)
mysqldump: Got error: 1016: Can't open file: './sq_tlwx/ims_  mon_house.frm' (errno: 24) when using LOCK TABLES


3.png


于是在网上找资料:


因为在默认情况下mysqdump是将 lock-tables设置为true,即默认时锁定当前表(没有加lock-all-tables参数,lock-all-tables是全局读锁,锁定库下的所有表保证数据的一致性,加上这个参数为自动关闭single-transaction 和 lock-tables 选项)。虽然说这样以来解决了问题,但用同样的语句(mysqldump -uroot -pmypass test1 > d:\test1.sql)在master上备份成功了,所以针对那个”can’t open file“,感觉还应该有其他的问题存在或是解决方法(可能是真正的解决方法),用show status like ‘%open%’;查看open_tables值,当前打开表的数量

+------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | Com_ha_open | 0 | | Com_show_open_tables | 0 | | Open_files | 462 | |Open_streams | 0 | | Open_tables | 256 | | Opened_tables | 4 | |Slave_open_temp_tables | 0 | +------------------------+-------+

用show variables like ‘%open%’;查看open_files_limit的值,操作系统允许 mysqld打开文件的数量

+-------------------+----------+ | Variable_name | Value | +-------------------+----------+ | have_openssl | DISABLED | | innodb_open_files | 300 | | open_files_limit | 622| +-------------------+----------+

open_files_limit的系统默认值为max_connections*5 或 max_connections + table_cache*2。
看来应该是open_files_limit设置过小,造成打开的文件过多,导致’xxx.frm’无法打开,open_files_limit的值很明显是默认值,并为手设置过。
打开my.ini文件(我的是windows系统。linux为my.cnf),在mysqld中添加:open_files_limit=4500,保存并重启动mysql数据库,然后再用同样的mysqldump语句备份数据库,成功执行!





推荐使用方法:在my.cnf中的mysqld中添加:open_files_limit=4500,保存并重启动mysql数据库

返回列表