在带有密码时,会提示警告mysql: [Warning] Using a password on the command line interface can be insecure. 这是表示-p选择后面有密码,会有安全风险,解决办法是-p后面不要带密码,在输入语句后,再按要求输入密码。
报错原因
报错原因是直接在命令行中提供密码是不安全的。因为:其他用户可以看到:通过 ps 命令或其他系统工具,其他用户可能能够查看到包含密码的进程参数。历史记录:在某些情况下,命令行历史可能会记录你的命令,包括密码。日志:系统日志(如 shell 历史或系统监控日志)可能也会记录包含密码的命令。
解决方法
1、不要直接在命令行中提供密码:
使用 -p 选项但不直接跟随密码,这样 mysql 会在命令执行后提示你输入密码。然后你会被提示输入密码,这样密码就不会出现在命令行历史或 ps 命令的输出中。
2、修改my.cnf配置文件,在配置文件上面写入用户名和密码
vim /etc/mysql/my.cnf[mysqldump]
user=your_backup_user_name
password=your_backup_password
修改完配置文件后, 只需要执行mysqldump 脚本就可以了。备份脚本中不需要涉及用户名密码相关信息。