(如果之前下载过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,再重新安一遍就行了。 详细说明: [在安装rpm包的mysql时如何解决启动服务端作业失败的问题-CSDN博客https://blog.csdn.net/zyh15076752858/article/details/145668808?sharetype=blogdetail\&sharerId=145668808\&sharerefer=PC\&sharesource=zyh15076752858\&spm=1011.2480.3001.8118](https://blog.csdn.net/zyh15076752858/article/details/145668808?sharetype=blogdetail&sharerId=145668808&sharerefer=PC&sharesource=zyh15076752858&spm=1011.2480.3001.8118 "在安装rpm包的mysql时如何解决启动服务端作业失败的问题-CSDN博客") #### 问题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 详细说明: [如何解决"rpm包mysql安装使用yum尝试从软件源镜像下载server端与client端时,可以查找到镜像源这些包但无法获取安装的问题""-CSDN博客https://blog.csdn.net/zyh15076752858/article/details/145667840?sharetype=blogdetail\&sharerId=145667840\&sharerefer=PC\&sharesource=zyh15076752858\&spm=1011.2480.3001.8118](https://blog.csdn.net/zyh15076752858/article/details/145667840?sharetype=blogdetail&sharerId=145667840&sharerefer=PC&sharesource=zyh15076752858&spm=1011.2480.3001.8118 "如何解决“rpm包mysql安装使用yum尝试从软件源镜像下载server端与client端时,可以查找到镜像源这些包但无法获取安装的问题“”-CSDN博客")