排除 MySQL 技術疑難問題: Difference between revisions

Jump to navigation Jump to search
Line 343: Line 343:
參考資料
參考資料
* [https://mysqldump.guru/mysqldump-got-errno-32-on-write.html mysqldump: 寫入時遇到 errno 32 錯誤 | mysqldump.guru]
* [https://mysqldump.guru/mysqldump-got-errno-32-on-write.html mysqldump: 寫入時遇到 errno 32 錯誤 | mysqldump.guru]
== 錯誤 1044 (42000): 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME' ==
訊息:{{kbd | key=<nowiki>錯誤 1044 (42000): 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME'</nowiki>}}
<pre>
pv file.sql.gz | gunzip | mysql -u USER -p --host=127.0.0.1 --default_character_set utf8 DATABASE_NAME
</pre>
解決方案:
* 檢查指定使用者名稱和資料庫名稱的權限
<pre>
$ mysql -u USER -p --host=127.0.0.1
輸入密碼:
mysql> use DATABASE_NAME
</pre>
訊息:{{kbd | key=<nowiki>mysqldump: 執行 LOCK TABLES 時出錯: 1044: 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME'</nowiki>}}
<pre>
$ mysqldump -h 127.0.0.1 -u USER -p DATABASE_NAME TABLE_NAME > TABLE_NAME.sql
</pre>
解決方案:
* 如果無法給予使用者權限,添加 mysqldump 選項 {{kbd | key=<nowiki>--skip-lock-tables</nowiki>}} <ref>[https://stackoverflow.com/questions/7415698/skip-lock-tables-and-mysqldump mysql - 跳過鎖定表和 mysqldump - Stack Overflow]</ref>。
<pre>
$ mysqldump -h 127.0.0.1 -u USER -p --skip-lock-tables DATABASE_NAME TABLE_NAME > TABLE_NAME.sql
</pre>


== 錯誤 1205: 鎖定等待超時,嘗試重新啟動事務 ==
== 錯誤 1205: 鎖定等待超時,嘗試重新啟動事務 ==

Navigation menu