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

來源:互聯網
上載者:User

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

FAQ:問題1:mysqldump: 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

最近在做Database Backup的時候,遇到這樣的一個錯誤:

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 這個參數,不鎖表備份,也是可行的。

本文出自 “老男孩linux營運” 部落格,請務必保留此出處http://oldboy.blog.51cto.com/2561410/1122867

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.