之前在寫 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/