自动修改mysql5.7初始化密码
mysql5.7为了安全考虑,初始化后root密码随机生成,密码放在error日志里面.
分两步:
第一步获取error.log密码.
修改默认密码,
passwd=`grep 'generated for root@localhost' $base_log/error.log|awk '{print $NF}'` expect <<! spawn /app/mysql/servers/bin/mysql -uroot -p expect "*password*" send "${passwd}\r"; expect "*>" send "set password for 'root'@'localhost'=password('xxxxx');\r" #如果密码太简单可能修改失败 send "exit\r" expect eof !
变量说明:
$base_log mysql日志log目录
xxxxx 需要设置的密码