Site icon Mr. 沙先生

MySQL 執行 bash script 出現 Warning: Using a password on the command line interface can be insecure

之前在寫 MySQL 的時候常常會遇到如果直接用 bash script 下 SQL 指令就會出現提示訊息,雖然無傷大雅,但看得很煩

Warning: Using a password on the command line interface can be insecure

 

在 MYSQL 5.6.6 以前的作法可以在 my.cnf 裡面加上密碼,使其不需要用帳號密碼驗證就可以執行 SQL dump

但這樣的方法並不是很安全

 

在 MySQL 5.6.6 之後加入了 mysql_config_editor 這個工具,這個工具將登入資訊存入 /root/.mylogin.cnf,而 .mylogin.cnf 是被加密的

 

mysql_config_editor 使用方式

$ mysql_config_editor set --login-path=dbname --host=127.0.0.1 --user=root --password

然後輸入密碼之後就會建立 .mylogin.cnf,而你的登入路徑就是 –login-path=dbname

 

查看既有的登入資訊

$ mysql_config_editor print --all

[dbname]
user = root
password = *****
host = 127.0.0.1

 

 

測試登入

$ mysql --login-path=dbname

mysql>

 

登入成功你就可以用 –login-path=dbname 這個參數寫入 script 囉!

 

 

 

 

Exit mobile version