(如果之前下载过mariadb,使用yum remove mariadb卸载,因为mariadb与rpm包安装的mysql有很多相似的组件和文件,会发生冲突,而源码包安装的mysql不会,所以不用删除源码包安装myqsl,只删除mariadb就可以)
1.下载:
链接: https://pan.baidu.com/s/1eb-1YOcKmlSzBuQA2e9gNA?pwd=9dd8 提取码: 9dd8 复制这段内容后打开百度网盘手机App,操作更方便哦

2.解压:
[root@xxx /]# mkdir /tmp/mysql #别在/下创建解压目录,因为/下是只读的,可能会出现mysql启动不了的问题
[root@xxx /]# tar -xvf /mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar -C /tmp/mysql
[root@xxx /]# createrepo /tmp/mysql/ #在/var/ftp/mysql/mysql_rmp下创建软件仓库的元数据(如果没有createrepo,那就yum install createrepo获取安装)
3.创建yum文件:
[root@xxx /]# vim /etc/yum.repos.d/mysql.repo
[mysql]
name = mysql 5.7.39
baseurl = file:///tmp/mysql
gpgcheck = 0
enabled = 1
[root@xxx /]# yum clean all #清理缓存
[root@xxx /]# yum makecache #建立缓存
[root@xxx /]# yum install mysql-community-server.x86_64 mysql-community-client.x86_64
#安装mysql的服务端和客户端
4.启动:
[root@xxx ~]# systemctl restart mysqld
5.登录:
这个rpm包安装的mysql在启动的时候会自动初始化,而他初始化时会生成一个密码,这个密码放在了/var/log/mgsql.log
[root@xxx ~]# cat /var/log/mysqld.log | grep password #查看时过滤一下

然后登录
[root@xxx ~]# mysql -u root -p'2GAqiou3&5;/'

6.修改密码
mysql> set password=password('China_123');
由于rpm包安装的mysql很多东西都是一开始就设定好的,所以密码设置的时候必须有大小写、特殊字符,但是源码包安装的mysql可以随意设置密码,比如123,456都可以。
给你们看一下,使用SHOW VARIABLES LIKE 'validate_password%';命令可以查看密码的设置要求
mysql> SHOW VARIABLES LIKE 'validate_password%';

当然这个也可以修改
mysql> SET GLOBAL validate_password_policy = LOW; #设置密码策略为low
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL validate_password_length = 3; #设置最短密码长度为3
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL validate_password_number_count = 0; #设置密码中数字的最小数量为0
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL validate_password_special_char_count = 0; #设置特殊字符的个数为0
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL validate_password_mixed_case_count = 0; #设置大小写个数为0
Query OK, 0 rows affected (0.00 sec)

再次查看一下,可以看到修改成功。

这下可以修改成简单的密码了。

登录也没问题!
安装问题:
问题1:
问题报错:
[root@xxx ~]# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
问题解决:
你在解压包的时候是在解压到根下你自己创建的目录,比如/mysql,这是由于根下权限的原因导致的问题,你只需要把已经安装的mysql卸载(yum remove mysql),换一个别的目录,比如/tmp,再重新安一遍就行了。
详细说明:
问题2:
问题报错:
Error downloading packages:
mysql-community-libs-compat-5.7.39-1.el7.x86_64: [Errno 256] No more mirrors to try.
mysql-community-common-5.7.39-1.el7.x86_64: [Errno 256] No more mirrors to try.
mysql-community-client-5.7.39-1.el7.x86_64: [Errno 256] No more mirrors to try.
mysql-community-libs-5.7.39-1.el7.x86_64: [Errno 256] No more mirrors to try.
mysql-community-server-5.7.39-1.el7.x86_64: [Errno 256] No more mirrors to try.
问题解决:
就是你在使用createrepo创建元数据的时候,createrepo /tmp/mysql少打了一个/,这就导致他不知道去那个目录去获取下载,添加上/就正常了,createrepo /tmp/mysq/
[root@xxx ~]# rm -rf /tmp/mysql/repodata/
[root@xxx ~]# createrepo /tmp/mysql/
[root@xxx ~]# yum clean all
[root@xxx ~]# yum makecache
[root@xxx ~]# yum install mysql-community-client.x86_64 mysql-community-server.x86_64
详细说明: