之前在寫 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 使用方式

1

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

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

 

查看既有的登入資訊

1

2

3

4

5

6

$ mysql_config_editor print --all

 

[dbname]

user = root

password = *****

host = 127.0.0.1

 

 

測試登入

1

2

3

$ mysql --login-path=dbname

 

mysql>

 

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

参考博文:https://shazi.info/mysql-%E5%9F%B7%E8%A1%8C-bash-script-%E5%87%BA%E7%8F%BE-warning-using-a-password-on-the-command-line-interface-can-be-insecure/