之前做了一个备份工具,后来客户数据库升级到mysql8.0之后,备份出警告导致后续流程进行不了。警告是“mysql: [Warning] Using a password on the command line interface can be insecure”大意是在执行语句里带密码不安全,上网找了解决办法,使用命令mysql_config_editor

mysql_config_editor出现在mysql5.6.6以后的版本,可以给指定的连接和密码生成一个加密文件.mylogin.cnf,默认位于当前用户目录下。通过该文件可以使用mysql、mysqladmin等直接登录,避免明文密码出现在脚本中。

1.设置命令生成文件,如果不指定路径,默认路径就是【client】,执行命令mysql_config_editor set --password,回车之后输入密码。如果有路径,命令就是mysql_config_editor set --login-path=hidepd --password。

2.执行命令的时候加上路径就ok了mysqldump --login-path=client -uroot dbname <D:\data\dbname 1512.sql

还能通过命令mysql_config_editor print --all查看已经设置的路径,通过命令mysql_config_editor remove --login-path=hidepd 删除不用的路径。

设置之后问题解决,但是以后修改数据库密码还需要重新生成文件,这个是比较麻烦的地方。暂时还没找到更好的解决办法。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐