萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 解決mysqldump: Got error: 1044: Access denied for user的方法

解決mysqldump: Got error: 1044: Access denied for user的方法

今天在使用mysqldump備份數據時提示Got error: 1044: Access denied for user ... when using LOCK TABLES問題了,但經過反復測試找出來解決辦法,下面與各位同學分享分享。


今天給新加的幾個數據庫備份,在執行mysqldump的時候,居然報mysqldump: Got error: 1044: Access denied for user 'jpzen'@'localhost' to database 'information_schema' when using LOCK TABLES,網上一搜,覺得有可能是權限問題,馬上查看mysql裡操作記錄,執行tail -n 40000 .mysql_history|grep GRANT,發現只給SELECT,INSERT,UPDATE,DELETE這幾個權限,為了在不改動權限的情況下,那只能用下面的方法.


那可能是你用來備份的數據庫用戶沒有lock table的權限,可以換一個權限更高的用戶,或者使用mysqldump的另一個選項:--single-transaction

mysqldump -uyourusername -pyourpassword --single-transaction yourdb > yourdb.sql

解決一:

加上-skip-lock-tables選項即可。即:

[[email protected]]# mysqldump -u dbuser -ppass db --skip-lock-tables > db.sql

解決2:

使用root賬戶備份。

ps:在導出時,加上--skip-lock-tables選項即可.

但這個方法在數據量過大的話,會出現卡死,所以最好經常檢查下sql備份,避免在要使用備份的時候杯具

copyright © 萬盛學電腦網 all rights reserved