Mysqldump
mysqldump:出現錯誤:1044:使用 LOCK TABLES 時使用者 ‘username’@’localhost’ 對數據庫 ‘databasename’ 的訪問被拒絕
mysqldump:出現錯誤:1044:使用 LOCK TABLES 時使用者 ‘username’@’localhost’ 對數據庫 ‘databasename’ 的訪問被拒絕
我能夠正確登錄並能夠從 SQLyog 工具進行完整備份,但是當我嘗試從 MySQL Enterprise Workbencg 進行備份時,會收到錯誤消息。
mysqldump:得到錯誤:1044:在執行 LOCK TABLES 時,使用者 ‘myuserid’@’%’ 對數據庫 ‘mydatabasename’ 的訪問被拒絕
操作失敗,退出程式碼 2
並且MySQL 連接狀態正常。
mysql>狀態;
mysql.exe Ver 14.14 Distrib 5.6.19,適用於 Win32 (x86)
連接 id:23921 目前數據庫:databasename 目前使用者:使用者 id 在這裡可以使用 SSL:未使用 使用分隔符:; 伺服器版本:5.6.17-log MySQL Community Server (GPL) 協議版本:10 連接:此處連接正常 伺服器字元集:utf8 Db 字元集:utf8 客戶端字元集:cp850 連接字元集:cp850 TCP 埠:3306 正常執行時間:21 天 21小時 11 分 37 秒
執行緒:24 問題:20500671 慢查詢:3212 打開:121998 刷新表:1 打開表:2000 每秒查詢平均:10.842
我找到了兩種可能的解決方案:
- 您的使用者缺少該
LOCK
權限,因此您應該要求您的數據庫管理員授予您權限- 執行相同的
mysqldump
命令,只需添加--single-transaction
標誌,例如。mysqldump --single-transaction -u user -p ...
一個快速的解決方法是將 –single-transaction 選項傳遞給 mysqldump:
$ mysqldump --single-transaction -u user -p DBNAME > backup.sql
只是為了分享,下面的文章對同一問題有很好的資訊。