mysqldump: Got error: 1556: You can't use locks with log tables

原文鏈接:http://oldboy.blog.51cto.com/2561410/1122867



mysql主從同步出現錯誤解決一例:本文出自老男孩linux運維實戰培訓內部教案內容整理總結

FAQ:問題1mysqldump: Got error: 1556: You can't use locks with log tables.

    在老男孩帶學生做主從同步實踐時,發現學生實踐操作時遇到如下問題無法解決,於是,老男孩把解決的過程總結如下:

[root@Oldboy ~]# mysqldump -uroot -p'oldboy' -S /data/3306/mysql.sock -A -B >a.sql

mysqldump: Got error: 1556: You can't use locks with log tables. when using LOCK TABLES

解決過程:


同樣的操作,其他10幾個學生都是OK的,只有這個學生有問題,在詢問後,並查看了相關配置過程後,聯繫到往期也有學生髮生過類似問題,於是,發現了原因。

[root@Oldboy ~]# which mysqldump

/usr/bin/mysqldump

發現原因,mysql的安裝路徑爲/application/mysql,查看mysqldump的路徑應該是/application/mysql/bin纔對,但是現在的路徑是rpm包安裝的mysql命令路徑了,至此原因找到。

[root@oldboy ~]# tail -1 /etc/profile

export PATH=$PATH:/application/mysql/bin

/etc/profile文件中,mysql的命令所在路徑,該學生放到了結尾,因此,當執行mysqldump命令時,優先找到了rpm包自帶的/usr/bin/mysqldump命令,從而導致了錯誤。

我們把把mysql的命令路徑放到PATH變量的最前面:

[root@oldboy ~]# tail -1 /etc/profile

export PATH=/application/mysql/bin:$PATH

[root@Oldboy ~]# . /etc/profile

[root@Oldboy ~]# echo $PATH

/application/mysql/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin:/usr/local/mysql/bin:/application/mysql5.1.65/bin:/application/apache/bin

[root@Oldboy ~]# which mysqldump

/application/mysql/bin/mysqldump

此時在導出數據庫:

[root@Oldboy ~]#mysqldump -uroot -p'oldboy' -S /data/3306/mysql.sock -A -B >a.sql

可以正常導出了。

下面該同學搜索的,其他網友的同樣報錯的另外一個問題的文章:

mysqldump You can’t use locks with log tables  11-01-13 11:05:02

http://blog.chinaunix.net/uid-21757535-id-86425.html

分類: Mysql/postgreSQL

最近在做數據庫備份的時候,遇到這樣的一個錯誤:

mysqldump: Got error: 1556: You can't use locks with log tables. when using LOCK TABLES

我是把一些mysqldump語句放在一個批量命令文件(傳說中的.sh文件)中執行的,而當我把這些
mysqldump
語句分離開來一個一個執行的時候,我發現是沒有任何錯誤的,於是在網絡上找了一些資料:
發現是mysql默認數據庫裏的logs表,不能被加鎖(lock tables)引起的。
於是我測試了一下,把關於mysql這個默認數據庫相關的語句清空後,整個文件即可正常運行。
還有一個解決方法:
便是在mysql這個數據庫相關的那句mysqldump加上 --lock-tables=0 這個參數,不鎖表備份,也是可行的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章