mysql: "Warning: Using a password on the command line interface can be insecure." 解決方法


錯誤重現:

命令行或者shell腳本中執行以下命令,如果您當前服務器mysql版本是大於5.6的,則會出現警告:Warning: Using a password on the command line interface can be insecure. 這是mysql避免明文密碼出現在腳本中做的安全提升

mysqldump -h$1 -u$2 -p$3 -P3306 -B ${dbnames} --single-transaction --triggers --routines --events --master-data=2 -F | gzip > $data_dir/$1_`date +%Y%m%d`.sql.gz

警告信息看着不爽,特別是crontab定時執行shell時,郵件會收到“原本該忽視”的stderr標准錯誤。

解決方案:

這里只說一個,利用 mysql_config_editor 進行預先設置連接信息,具體做法如下:

1、設置登錄信息

mysql_config_editor set --login-path=mall --host=mall.palcent.com --user=dumper -p

設置完畢,會在用戶主目錄%home%下生成一個.mylogin.cnf 文件,比如root用戶,則生成 /root/.mylogin.cnf 。

2、查看當前主機上的加密文件

mysql_config_editor print --all

3、使用加密文件

登錄Mysql

mysql --login-path=mall
# Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 375021

備份數據庫

mysqldump --login-path=mall --databases ${dbnames} --single-transaction --triggers --routines --events --master-data=2 -F | gzip > $data_dir/$1_`date +%Y%m%d`.sql.gz

 

當然還有其他解決方案, 請自行參考以下參考鏈接!

 

參考鏈接:

https://www.cnblogs.com/rockbes/p/3972763.html (mysql_config_editor 用法)

https://blog.csdn.net/zxssoft/article/details/89667874 

https://dev.mysql.com/doc/refman/8.0/en/password-security-user.html (官方解決方案)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM