一.先创建一个脚本目录

  1. [root@node02 ~]# mkdir -p /vagrant/script/
  2. [root@node02 ~]# cd /vagrant/script/
  3. [root@node02 script]# touch install_mysql.sh
  4. [root@node02 script]# vim install_mysql.sh
# yum仓库安装,安装完成后就会覆盖掉之前的mariadb
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
if [ $0 != 0 ];then
echo "ERROR: 安装失败,尝试导入证书"
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install mysql-community-server || \
yum -y install mysql-community-server  --nogpgcheck
fi

# 因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch
[root@node02 script]#vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

port=3306
max_connections=1000
max_connect_errors=10
character-set-server=UTF8MB4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
explicit_defaults_for_timestamp=true

[mysql]
default-character-set=UTF8MB4
[client]
port=3306
default-character-set=UTF8MB4
[root@node02 script]# sh install_mysql.sh
启动数据库并开机启动:systemctl start mysqld && systemctl enable mysqld
启动后获取临时密码:cat /var/log/mysqld.log|grep password
连接数据库并重置密码:
mysql -hlocalhost -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '改为你的密码'; # 重置密码
mysql> use mysql;select user,host from user; # 查看用户
 用户授权,需要本机执行,使其他机器可以直连
mysql> grant all privileges on *.* to 'root'@'%' identified by 'xxx';
如果不行就:
mysql> grant all privileges on *.* to 'root'@'%' identified by 'xxx' with grant option;
注意需要将上面的'xxx'替换为你的密码。
/etc/my.conf 的[mysqld]中加skip-grant-tables,再执行service mysqld restart
再执行mysql
mysql> USE mysql;
mysql> UPDATE user SET authentication_string = password('xxx') WHERE User = 'root';
mysql> flush privileges;
mysql> quit
再去掉skip-grant-tables,重启数据库:service mysqld restart
登录数据库后再重置密码。