在高版本的MySQL中用 mysqldump 命令实现数据库备份,需将密码明文方式显示在命令上,但在运行时会报错:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
这是mysql的登录安全机制,那么我们如何在mysqldump命令中明文传输密码并实现备份呢?
解决方法:用 mysql_config_editor 生成登录密钥。
mysql_config_editor set --login-path=mylogin --host=localhost --user=test --password
会生成一个名为 mylogin 的登陆点,密钥保存在 ~/mylogin.cnf 中,然后在mysql命令行中,只需要指定登陆点名称(如:mydb)即可:
mysql --login-path=mylogin
mysqldump 备份指令:
mysqldump --login-path=mylogin test >> backup.sql