Centos7安装MySQL-RPM包安装

Centos7安装MySQL-RPM包安装

前期准备工作

  1. Vmware中安装好Centos7虚拟机,并启动起来
  2. 下载好MySQL相关RPM包
  3. 安装有XshellXftp 等访问CentOS系统的工具

1.MySQL的Centos安装准备

1.1MySQL的4大版本

MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。
MySQL Enterprise Edition 企业版本,需付费,不能在线下载,可以试用30天。提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。
MySQL Cluster 集群版,开源免费。用于架设集群服务器,可将几个MySQL Server封装成一个Server。需要在社区版或企业版的基础上使用。
MySQL Cluster CGE 高级集群版,需付费。

截止目前,官方最新版本为8.0.29,本文中主要使用8.0.25版本中MySQL Community Server,不求最新,只求稳定。

1.2 下载MySQL指定版本

1.下载地址(官网下载地址)

MySQL :: Download MySQL Community Server (Archived Versions)

Centos7安装MySQL-RPM包安装_第1张图片

需要注意选择Archived Versions(其他版本时),注意以下事项

  • 版本号为:8.0.25
  • 操作系统:Red Hat(红帽企业版本Linux)对应的的Centos系统
  • 操作系统版本:7
2.补充Linux下的几种软件安装方式
方式1:rpm命令

使用rpm命令安装扩展名为".rpm"的软件包,rpm命令详解以及命名格式如下图

Centos7安装MySQL-RPM包安装_第2张图片

方式2:yum命令

Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理基础之上,需联网,从互联网获取的yum源,直接使用yum命令安装。

方式3:编译安装源码包

针对tar.gz 这样的压缩格式,要用tar命令来解压;如果是其它压缩格式,就使用其它命令。

Linux三种方式对比

安装方式 安装方式特点
rpm 安装简单,灵活性差,无法灵活选择版本、升级
rpm repository(yum命令搭配仓库使用) 安装包极小,版本安装简单灵活,升级方便,需要联网安装
源码包 安装最复杂,时间长,参数设置灵活,性能好

1.3下载后压缩文件之后,用压缩工具打开抽取安装所需文件

image-20220513160015990

解压后需要抽取的文件

Centos7安装MySQL-RPM包安装_第3张图片

1.4 抽取的文件经由xftp上传到Centos的opt目录下

Centos7安装MySQL-RPM包安装_第4张图片

1.5检查Centos下是否安装过RPM包的MySQL

如果你是用rpm安装, 检查一下RPM PACKAGE:

rpm -qa | grep -i mysql # -i  忽略大小写

检查mysql service:

systemctl status mysqld.service

如果存在mysql-libs的旧版本包,显示如下:

Centos7安装MySQL-RPM包安装_第5张图片

如果不存在则无显示跳到新的行

2.MySQL的Centos安装

2.1CentOS7下检查MySQL依赖

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。执行下面命令:

chmod -R 777 /tmp

2.2检查依赖libaio(内核依赖)包和net-tools(网络检测功能依赖)

rpm -qa|grep libaio	
rpm -qa|grep net-tools

如果存在,则会显示下面界面

image-20220513161545382

2.2执行安装

1.移动到xftp上传的目录下

cd /opt

在mysql的安装文件目录下执行:(必须按照顺序执行)

第一步:rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
第二步:rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
第三步:rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
第四步:rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
第五步:rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm

  • 注意: 如在检查工作时,没有检查mysql依赖环境在安装mysql-community-server会报错
  • rpm 是Redhat Package Manage缩写,通过RPM的管理,用户可以把源代码包装成以rpm为扩展名的
    文件形式,易于安装。
    -i , --install 安装软件包
    -v , --verbose 提供更多的详细信息输出
    -h , --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),展示进度条
  1. 安装过程截图

Centos7安装MySQL-RPM包安装_第6张图片

  1. 安装过程中可能的报错信息:

image-20220513162359891

因为MySQL被Oracle收购之后,MySQL怕Oracle闭源这个软件,所以就新开一个mariadb-libs来代替老的libs包

只需要执行下面命令:

yum remove mysql-libs 

解决,清除之前安装过的依赖即可

  1. 查看MySQL版本
    执行如下命令,如果成功表示安装mysql成功。类似java -version如果打出版本等信息

mysql --version
#或
mysqladmin --version


执行如下命令,查看是否安装成功。需要增加 -i 不用去区分大小写,否则搜索不到。

```shell
rpm -qa|grep -i mysql

Centos7安装MySQL-RPM包安装_第7张图片

  1. 服务的初始化
    为了保证数据库目录与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执
    行下面的命令初始化:

    mysqld --initialize --user=mysql
    

    说明: --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过
    期,登录后你需要设置一个新的密码。生成的临时密码会往日志中记录一份。
    查看密码:

    cat /var/log/mysqld.log
    
    root@localhost: 后面就是初始化的密码
    

    image-20220513164220894

  2. 启动MySQL,查看状态

#加不加.service后缀都可以
启动:systemctl start mysqld.service
关闭:systemctl stop mysqld.service
重启:systemctl restart mysqld.service
查看状态:systemctl status mysqld.service

mysqld 这个可执行文件就代表着MySQL 服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。

查看进程:

ps -ef | grep -i mysql
  1. 查看MySQL服务是否自启动
systemctl list-unit-files|grep mysqld.service

image-20220513164924200

  • 默认是enabled。

  • 如不是enabled可以运行如下命令设置自启动

    systemctl enable mysqld.service
  • 如果希望不进行自启动,运行如下命令设置
 systemctl disable mysqld.service

3.Centos下MySQL登录

3.1 Centos本机登录改密码

通过 mysql -hlocalhost -P3306 -uroot -p 进行登录,在Enter password:录入初始化密码,初始密码就是上面在日志中查询的到密码

接着可以修改初始密码为你想要的密码,比如我这里修改为123456【如果实际是生产环境千万不要设置这么简单的密码】

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

Centos7安装MySQL-RPM包安装_第8张图片

3.2 Navicat远程客户端工具连接登录

1.查询默认host的信息

如果想要windows主机或者其他主机通过root用户访问Centos下的Mysql服务,需要开放root账户的Host访问权限。

在Linux系统MySQL下测试:

use mysql;
select Host,User from user;

可以看到root用户的当前主机配置信息为localhost。

Centos7安装MySQL-RPM包安装_第9张图片

2.修改Host为通配符%

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.81.1。这里的意思就是说root用户只能通过192.168.81.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.81.%,那么就表示只要是IP地址前缀为“192.168.81.”的客户端都可以连接。这里我的windows主机的IP是192.168.81开头的,所以设置为192.168.81.%

update user set host = '192.168.81.%' where user ='root';

如果Host=% ,表示所有IP都有连接权限。

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置。

最后,还需要重新刷新mysql权限

flush privileges;

3.开放Centos下的防火墙的3306端口

查看防火墙以及开启防火墙相关命令

# 开启、查看、关闭防火墙命令
systemctl start firewalld.service
systemctl status firewalld.service
systemctl stop firewalld.service
#设置开机启用防火墙
systemctl enable firewalld.service
#设置开机禁用防火墙
systemctl disable firewalld.service

开放3306端口

firewall-cmd --add-port=3306/tcp --permanent

重新刷新防火墙

firewall-cmd --reload

image-20220513170632577

4.需要连接Centos的主机做网络测试

做完上面的步骤,就可以做网络确认测试

通过ifconfig命令查看centos主机ip地址

# 查看centos主机ip地址
ifconfig

在你需要连接Centos7的主机上 ping ip地址来确认 网络畅通

# 比如windows ping我的centos主机
ping 192.168.81.120

在你需要连接Centos7的主机上 telnet ip地址 端口号 来确认端口畅通

# 比如windows ping我的centos主机
telnet  192.168.81.120 3306

如果是telnet 测试没通过,需要在连接主机和被连接主机做端口和防火墙的排查,遇到的问题有

telnet既不是批处理文件也不是命令,这时就需要把telnet命令开启

Centos7安装MySQL-RPM包安装_第10张图片

Centos7安装MySQL-RPM包安装_第11张图片

5.最后navicat客户端远程连接测试

Centos7安装MySQL-RPM包安装_第12张图片

你可能感兴趣的:(MySQL,mysql,centos,linux)