Php 远程使用MySqlDump时MySql表锁定?
我正在使用一个php脚本远程备份我的sql数据库,它利用了mysqldump 我尝试添加--lock tables=false,因为我使用的是MyISAM表,但仍然出错Php 远程使用MySqlDump时MySql表锁定?,php,mysql,mysqldump,Php,Mysql,Mysqldump,我正在使用一个php脚本远程备份我的sql数据库,它利用了mysqldump 我尝试添加--lock tables=false,因为我使用的是MyISAM表,但仍然出错 exec( "$MYSQL_PATH/mysqldump --lock-tables=false $db_auth --opt $db 2>&1 >$BACKUP_TEMP/$db.sql", $output, $res); 错误: mysqldump: Couldn't execute 'show fie
exec( "$MYSQL_PATH/mysqldump --lock-tables=false $db_auth --opt $db 2>&1 >$BACKUP_TEMP/$db.sql", $output, $res);
错误:
mysqldump: Couldn't execute 'show fields from `advisory_info`': Can't create/write to file 'E:\tmp\#sql_59c_0.MYD' (Errcode: 17) (1)
有人告诉我这个文件是锁文件,我可以在我的服务器上找到它,我想备份
这是锁文件吗?如果远程执行,它会锁定数据库吗?不管我是否放置变量--lock tables=false?或者它不应该在那里,因为有很多人在服务器上工作,可能是有人创建了它?很可能--lock tables=false
没有做您认为它正在做的事情。由于您传递的是--lock tables
,因此可能假设您确实想要锁定这些表(即使这是默认设置),所以它会锁定它们。在Linux中,我们不阻止标志,而是添加类似于=false
或=0
的内容,但通常使用--skip-X
或--no-X
您可能想尝试--跳过opt
:
--skip-opt Disable --opt. Disables --add-drop-table, --add-locks,
--lock-tables, --set-charset, and --disable-keys.
由于默认情况下启用了
--opt
,因此可以--skip opt
然后添加回所需的任何标志。在使用Wamp的Windows 7上,选项为--skip lock tables
取自