MySQL5.7.27报错“[Warning] Using a password on the command line interface can be insecure.”在命令行使用密码不安全警告
原因
这个错误是在我执行备份脚本的时候出现的
# mysqldump -h主机名 -u用户名 -p密码 数据库名称 > /usr/local/dbbackup/数据库名称_$(date +%Y%m%d_%H%M%S).sql
原因是mysql的安全机制导致,因为在命令行直接将命令写上,被认为是不安全的行为
mysqldump: [Warning] Using a password on the command line interface can be insecure.
虽然会报错,但是并不影响是数据库的备份
解决方法
方法一:修改my.cnf配置文件
编辑/etc/my.cnf配置文件
[root@localhost local]# vi /etc/my.cnf
在配置文件中添加如下内容
[client] port = 3306 socket = /tmp/mysql.sock default-character-set = utf8mb4 host = 主机ip user = 数据库用户名 password = '数据库密码'
使用命令导入导出(指定加载配置文件)
#导出数据库 mysqldump --defaults-extra-file=/etc/my.cnf 数据库名称 > 数据库名称_$(date +%Y%m%d_%H%M%S).sql #导入数据库 mysql --defaults-extra-file=/etc/my.cnf 数据库名称 < 数据库名称_$(date +%Y%m%d_%H%M%S).sql
方法二:直接在linux环境中添加mysql环境
编辑/etc/profile配置文件
[root@localhost local]# vi /etc/profile
在最后面添加如下内容,保存并退出
export MYSQL_PWD=数据库密码
使配置生效
[root@localhost local]# source /etc/profile
使用mysqldump命令备份数据库的时候就可以省略-p密码参数,执行脚本就不会报错了
# mysqldump -h主机名 -u用户名 数据库名称 > /usr/local/dbbackup/数据库名称_$(date +%Y%m%d_%H%M%S).sql