在 5.6 和 5.7 中,Mysql 加强了密码的使用。
Mysql第一次启动的时候,会初始化一个随机的复杂密码,保存在 /var/log/mysqld.log
不再接受简单密码。即复杂密码为: 大小写、数字、符号 的组合。
在命令行中,不能直接使用 mysql -u$USER -p$PASSWORD 的方式了
在 bash script 中使用 mysql
使用 client 配置
在 /etc/my.cnf 中配置 [client] 区块
或者,使用 --default-extra-file=/path/to/config.cnf
mysql --defaults-extra-file=/path/to/config.cnf -e "statement;"
mysqldump --defaults-extra-file=/path/to/config.cnf -e "statement;"
# config.cnf 格式如下
[client]
user = whatever
password = whatever
host = whatever
不过 --default-extra-file=/path/to/config.cnf 必须为命令行的第一个参数,否则会报错。例如,mysqldump: unknown variable 'defaults-extra-file
使用 mysql_config_editor 和 login-path
在 5.6.x 中,避免 WARNING 消息的方式是使用 mysql_confg_editor 工具。
# 首先在