使用mysqldump 備份mysql數據庫 報錯1044 和 1045的原因及解決方法


1.錯誤1044

【錯誤信息】:mysqldump: Got error: 1044: Access denied for user 'root'@'%' to database 'hhh' when using LOCK TABLES

【報錯原因】:mysqldump 命令執行時,需要四種權限,分別是:select,show view,trigger,lock table。但是因為沒有lock table的權限,導致上述錯誤發生。

【修改方法】在mysqldump命令之后添加--single-transaction 即可。

--single-transaction參數的作用,設置事務的隔離級別為可重復讀,即REPEATABLE READ,這樣能保證在一個事務中所有相同的查詢讀取到同樣的數據,也就大概保證了在dump期間,如果其他innodb引擎的線程修改了表的數據並提交,對該dump線程的數據並無影響,在這期間不會鎖表。

示例:

mysqldump --single-transaction -hIP地址 -p3306 -uroot -p密碼 數據庫名>D:/hhh.sql

2.錯誤1045

錯誤信息:mysqldump: Got error: 1045: Access denied for user 'ucloudbackup'@'10.10.1.242' (using password: YES) when trying to connect
報錯條件:無法連接,密碼,賬戶,host,port有問題,通常是密碼未加雙引號
解決措施:先保證mysql能正常連接

示例:mysqldump -uroot -p"test@2018" --all-databases > D:\backup\db_test\db_test_%d%.sql

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM