由于 MySQL 5.7 版本的 root 密码是首次启动时随机生成的,并且还要求必须修改后才能使用,所以有了本文:使用 shell 脚本完成安装和设置新的 root 密码。
以官方的 rpm 包安装为例,先下载,使用 yum 命令安装,如果有需要的依赖包会自动安装
1
2
3
|
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar tar xf mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar yum install -y mysql-* |
初始化 MySQL 5.7
1
2
3
4
5
6
7
8
9
10
|
service mysqld start sleep 1 defaultmysqlpwd=`grep 'A temporary password' /var/log/mysqld.log | awk -F "root@localhost: " '{ print $2}' ` /usr/bin/mysql -uroot -p${defaultmysqlpwd} <<EOF set global validate_password_policy = 0; SET PASSWORD = PASSWORD ( 'shanghai2017' ); grant all privileges on *.* to root@ '%' identified by 'shanghai2017' ; EOF sleep 1 service mysqld restart |
解释:
set global validate_password_policy = 0;
是将 mysql 默认的密码安全级别(8位字符,包含大小写特殊字符和数字)降至0(达到4个字符即可)
如果需要更高安全级别的密码,请去掉此行。