【Linux】CentOS 7 安装 mysql5.7(rpm)

1.事前准备

关于虚拟机的下载和安装,可以参考我之前的博客↓
VMware下载,安装及创建虚拟机
VMware安装Centos7 究极逐步详细图文流程

还有就是mysql5.7的rpm包下载:
下载地址:
MySQL Product Archives
下载链接:
mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
在这里插入图片描述
关于rpm就不做多介绍了,就是RedHat Package Manager(RedHat软件包管理工具)

2.开始安装

  1. 卸载系统自带mysql(可选项)
    这里我使用的centos系统是没有自带Mysql的,使用命令查看:
rpm -qa | grep mysql

在这里插入图片描述
这一步我是跳过了,但是如果你下的系统中自带有mysql,而你又不想使用此版本,可以使用如下命令卸载:

rpm -e --nodeps mysql.xxx # 后边卸载的内容是上方grep命令的输出结果
  1. 文件上传
    创建一个目录:/usr/local/mysql5.7 ,将文件上传,上传的方式有很多,这里简单附上一个:
    【Linux】1.Xshell如何连接虚拟机实现文件上传
    上传完毕:
    在这里插入图片描述
  2. 解压文件
    使用命令:
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

解压完毕:
在这里插入图片描述
文件是有很多,但是我们使用到的只有上述红框中的四个文件,你也可以单独讲这四个文件下载下来,只要版本没有问题也是OK的。

  1. 依次安装
    按照依赖关系依次安装rpm包 依赖关系依次为common→libs→client→server

rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

注:ivh中, i-install安装;v-verbose进度条;h-hash哈希校验
第一个文件common的安装没有问题,在libs的安装时发生了依赖错误的问题:
在这里插入图片描述
解决方案就是将依赖全部清空,命令如下(我使用的是第二种情况的命令,可以从上图最后一行看出):

rpm -qa | grep mysql
yum remove mysql-libs
注意:
有的系统可能不太一样,没有mysql-libs,而是mariadb-libs,此时要移除的则是mariadb-libs
rpm -qa | grep mariadb
yum remove mariadb-libs

在这里插入图片描述
再次安装libs,还是有问题:
在这里插入图片描述
但我们仔细一看,其实这个文件是我们刚才刚刚安装的common包,应该是没有问题的,这是怎么回事呢,我们需要重新再执行一次common的安装,再进行libs的安装。。。
在这里插入图片描述
最后完成server和client的安装:
发现client的安装没有问题,而server的安装再次发生了错误依赖的情况:
从最后一句话可以看出需要net-tools工具
在这里插入图片描述
我们下载安装net-tools工具,使用命令如下:

yum -y install net-tools

这里还是不够的,因为还有错误是关于libaio的,所以我们这里还是需要下载安装或更新一下libaio组件
在这里插入图片描述
命令如下:

yum -y install libaio

当上述两个文件安装完毕后再次执行server的安装,就没问题了:
在这里插入图片描述
这个还挺曲折的hhh
这里总算是安装先告一段落了。

3.修改密码和连接测试

  1. 关于启动和停止的命令
    这里5.7版本的服务名确实是mysqld,而不是mysql

systemctl start mysqld.service # 启动mysql
systemctl status mysqld.service # 查看mysql状态
systemctl stop mysqld.service # 关闭mysql

这里启动是没有问题的:
在这里插入图片描述

  1. 登录mysql
    MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,后来因为安全性问题改变了这种方式,是会生成一个临时密码的,我们需要找到此密码然后登录修改,
    该密码在log文件中,我们使用命令可以快速将其打印出:
grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述
然后复制粘贴登录mysql:

mysql -u root -p

在这里插入图片描述

  1. 修改root用户密码
    在5.6后,mysql内置密码增强机制,低强度密码会报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
在这里插入图片描述

这里之前参照的博客有非常完整的解答,这里附上链接,不在赘述:
安装MySQL报错 : Your password does not satisfy the current policy requirements

最后我们成功将密码设置为123456:
在这里插入图片描述
暂时退出mysql
在这里插入图片描述

  1. 赋予远程访问权限
    首先关闭防火墙,附上一系列命令:
systemctl status firewalld		 			#查看firewall防火墙状态
firewall-cmd --list-ports					#查看firewall防火墙开放端口
systemctl start firewalld.service			#打开firewall防火墙
systemctl stop firewalld.service			#关闭firewall防火墙
firewall -cmd --reload						#重启firewal防火墙
systemctl disable firewalld.service			#禁止firewall开机启动  

关闭结果确认:
在这里插入图片描述
然后使用新密码登录mysql,然后授予远程访问权限,并及时刷新权限:

grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;

在这里插入图片描述

  1. 远程连接测试
    在这里插入图片描述
    连接成功!
    在这里插入图片描述

4.自启动设置

附上链接:
【开机自启】Linux下设置MySql自动启动

猜你喜欢

转载自blog.csdn.net/cjl836735455/article/details/112069647
今日推荐