先看看有没有mariadb
[root@rdlx opt]# yum list installed | grep mariadb
mariadb-libs.x86_64 1:5.5.52-1.el7 @anaconda/7.3
如果有,则要先卸载mariadb,然后查看是否卸载成功
[root@localhost ~]# yum remove -y mariadb-libs
...
完毕!
#查看卸载后的安装情况:
[root@localhost ~]# yum list installed | grep mariadb
[root@localhost ~]#
下载mysql的tar包,https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar
把tar包解压
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
考虑到安装包依赖关系,通过rpm按照顺序安装
rpm -ivh mysql-community-common-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.34-1.el7.x86_64.rpm(这个是用于支持C语言开发的,可以不装)
安装过程如果报错error: Failed dependencies,则有可能包的版本不适合当前的系统,或者安装包的顺序不对,这时,如果在命令结尾加上:--nodeps --force,虽可以继续安装,但是后来进入mysql之后会出现root用户没有任何权限的问题。
启动并查看mysql状态
systemctl start mysqld.service
systemctl status mysqld.service
通过/var/log/mysqld.log查找mysql密码并登陆
[root@rdlx opt]# cat /var/log/mysqld.log|grep "pass"
2021-04-26T03:35:58.412047Z 1 [Note] A temporary password is generated for root@localhost: vo&taR_sX7>V
2021-04-27T06:44:31.554019Z 1 [Note] A temporary password is generated for root@localhost: %Okt<)VDS05?
修改root用户密码(先修改密码规则,不然一般的简单密码都用不了)
set global validate_password_length=4;
set global validate_password_policy=0;
set password=password('1234');
use mysql;
update user set host='%' where host='localhost';
delete from user where host !='%';
flush privileges;
quit;
使用MySQL8版本以前的命令修改密码:
set password=password('新密码');
这个在MySQL8新版中修改密码的命令给严格限制了,提示语法错误“You have an error in your SQL syntax”,应该使用:
alter user'root'@'localhost' identified with mysql_native_password by 'new_password' ;
如需修改密码限制规则,关闭大小写字母要求以及修改密码长度限制:
set global validate_password.policy=0;
set global validate_password.length=1;