删除mysql.general_log表时出错

时间:2015-03-25 06:19:03

标签: mysql mysql-workbench sqlyog

5,执行以下查询时出错,

delete from mysql.general_log

执行上述查询后出错,

Error Code: 1556
You can't use locks with log tables.

有人可以帮我解决上述错误。

3 个答案:

答案 0 :(得分:6)

要清除表中的所有数据,您可以使用

TRUNCATE mysql.general_log

答案 1 :(得分:2)

我认为您可以先重命名该表,然后尝试删除它然后还原,即将表名更改回原来的表。

第二个alternative solution就是:

  

您可能需要在dump语句中禁用“-lock-tables”选项   即-lock-tables = 0。当我们使用“-lock-tables”时,我的假设是什么   选项,正在备份的当前表将运行   在“只读”模式下,以避免在此期间进一步写入操作。   将执行包含“写入”操作的缓存查询   之后一次在表转储完成后。请注意跳过   在生产模式下不建议使用此选项。

     

由于Amazon RDS仅允许远程访问,因此我进行了此更改   即使我在RDS网站中设置了每日备份和保留期限   接口正常。这个自定义备份甚至是我的保证   虽然AWS RDS可以更好地处理它。

$mysqldump –all-database –lock-tables=0 -uusername -h hostname -p’password’ -B | bzip2 > /backup/db/domain-00-00.2012.bz2

答案 2 :(得分:0)

mysqldump -u dbUsername -p dbPassword --lock-tables=0> data.sql

对我来说很好。