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

Jump to navigation Jump to search
Line 186: Line 186:


== 訪問和認證錯誤 ==
== 訪問和認證錯誤 ==
=== [Warning] Using a password on the command line interface can be insecure ===
問題描述:
使用 bash 命令匯出或匯入 MySQL 資料庫時,可能會遇到以下警告:[警告] 在命令行介面上使用密碼可能不安全。
<pre>
mysql: [Warning] Using a password on the command line interface can be insecure.
or
mysqldump: [Warning] Using a password on the command line interface can be insecure.
</pre>
這通常發生在使用如下命令時:
<pre>
mysqldump -u USERNAME -p -h 127.0.0.1 --default-character-set=utf8 DATABASE > DATABASE.sql
</pre>
解決方案:要解決此警告並提高安全性,請按照以下步驟操作:
# 使用 [https://dev.mysql.com/doc/refman/8.4/en/mysql-config-editor.html mysql_config_editor] 設定登入路徑 (login path):{{kbd | key=<nowiki>mysql_config_editor set --login-path=local --host=localhost --user=root --password</nowiki>}}
# 匯出或匯入 MySQL 資料庫時使用登入路徑 (1) 匯出時:{{kbd | key=<nowiki>mysqldump --login-path=local --default-character-set=utf8 資料庫名稱 > 資料庫名稱.sql</nowiki>}} (2) 匯入時:{{kbd | key=<nowiki>pv 資料庫名稱.sql.gz | gunzip | mysql --login-path=local --default_character_set utf8 --force 資料庫名稱</nowiki>}}
# 查看所有已設定的登入路徑 {{kbd | key=<nowiki>mysql_config_editor print --all</nowiki>}}
透過使用登入路徑,可以避免在命令行中暴露密碼,解決安全警告。
=== 錯誤 1044 (42000): 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME' ===
=== 錯誤 1044 (42000): 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME' ===
訊息:{{kbd | key=<nowiki>錯誤 1044 (42000): 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME'</nowiki>}}
訊息:{{kbd | key=<nowiki>錯誤 1044 (42000): 拒絕使用者 'USER'@'localhost' 存取資料庫 'DATABASE_NAME'</nowiki>}}

Navigation menu