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

Jump to navigation Jump to search
Line 193: Line 193:
解決方案:
解決方案:
* 從 Excel 匯入到資料庫時,source 欄位是空值或者沒有指定,需要指定 source 欄位值。或者修改欄位定義,允許欄位值可以 NULL。
* 從 Excel 匯入到資料庫時,source 欄位是空值或者沒有指定,需要指定 source 欄位值。或者修改欄位定義,允許欄位值可以 NULL。
== 訪問和認證錯誤 ==
=== 錯誤 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>


== 資源和環境錯誤 ==
== 資源和環境錯誤 ==

Navigation menu