1.删除原有的mariadb
不然安装报错
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs
2. 下载RPM安装包
在https://dev.mysql.com/downloads/mysql/选择为Red Hat Enterprise Linux 7 / Oracle Linux 7 ,把os的版本选择为all。 直接下载mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面,然后rpm命令安装。
rpm -ivh mysql-community-common-5.7.-.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.-.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.-.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.-.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.-.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.-.el7.x86_64.rpm
至此,mysql5.7所有文件安装完毕,接下来就是开启服务测试了
3. 启动mysql服务
查看mysql服务是否启动
service mysqld status
启动服务:
systemctl start mysqld
4. 重置root密码
MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:
grep 'temporary password' /var/log/mysqld.log
5. 修改root用户密码
(MySQL的密码策略比较复杂,过于简单的密码会被拒绝)
mysql -u root -p
mysql> Enter password: (输入刚才查询到的随机密码)
mysql> SET PASSWORD FOR 'root'@'localhost'= "qaz-123";
mysql> exit
6. 用root新密码登录
mysql -u root -pqaz-
如果上面的方式不能修改可以使用下面安全模式修改root:
关闭服务,修改mysql配置文件:
systemctl stop mysqld.service
vi /etc/my.cnf
mysqld下面添加skip-grant-tables 保存退出启动服务。
systemctl start mysqld.service
mysql -u root #不用密码直接回车
use mysql
update user set authentication_string=password('qaz-123') where user='root' and host='localhost';
flush privileges;
exit;
vi /etc/my.cnf #把 skip-grant-tables 一句删除保存退出重启mysql服务
systemctl restart mysqld.service
再次登录即可
mysql -uroot -pqaz123
如果进行操作出现下面的提示:
You must reset your password using ALTER USER statement before executing this statement.
就重新设置密码(mysql默认密码策略比较复杂,如果设置简单密码,需修改默认安全策略,可以参考另外一篇文章:MYSQL57密码策略修改)
set password = password('qaz-123');
7.开放3306端口
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'qaz-123' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;
开启防火墙mysql 3306端口的外部访问:
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload