Centos 7.x 获取,安装以及客户端连接MySQL8.0教程


这篇博文记录下如何在Centos 7.x 获取,安装以及客户端连接MySQL8.0 。


0x01 Centos 7.x 获取,安装以及客户端连接MySQL8.0教程

1.1 检查MySQL 是否支持运行在你的操作系统

我们要知道一点的是,MySQL 虽然流行但不是所有的操作系统都适用安装MySQL 的。

MySQL 支持的平台我这里挑选几个比较常见的贴出来
在这里插入图片描述
在这里插入图片描述

更多请参考官方文档 Supported Platforms: MySQL Database

1.2 选择安装哪一个MySQL版本?

MySQL 有很多版本,安装之前我们需要确定下想安装的是开发版本还是正式的GA版本。

1.2.1 DEV or GA?

  • 开发版本包含最新的一些功能,但是不建议生产环境使用。
  • GA 版本是正式发布的稳定版本,适用于生产环境使用。

一般来说,建议我们使用MySQL正式发布稳定的GA版本。

在windows 上可以使用 the MySQL Installer 进行安装。

  • windows 上安装MySQL 8.0 需要.NET Framework 4.5.2或更高版本
  • 下载地址: https://dev.mysql.com/downloads/installer/ 这里指的注意的是两个区别
    • Web: mysql-installer-community-web-VERSION.N.msi 在线安装版本
    • Full or Current Bundle: 比如mysql-installer-community-VERSION.N.msi 指的是离线安装版本

完整版参考:Which MySQL Version and Distribution to Installl


1.3下载想要安装的二进制文件

1.3.1 yum方式下载(有问题)

  • Oracle Linux, Red Hat Enterprise Linux, CentOS 和 Fedora 都是通过yum包管理器来管理软件的下载,更新和删除。
  • 由于本地配置的软件库镜像软件比较少,因此需要添加一个软件镜像库

下载rpm 文件方式有很多种,这里只列举两种最常用的方法:

  • 第一种方法

通过wget -i url 命令下载rpm 文件

如果是Centos 8 (Red Hat Enterprise Linux 8 / Oracle Linux 8)执行

wget dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm 

如果是Centos7 (Red Hat Enterprise Linux 7 / Oracle Linux 7)执行这个

wget dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 

如果是Centos6 (Red Hat Enterprise Linux 6 / Oracle Linux 6)执行这个

wget dev.mysql.com/get/mysql80-community-release-el6-3.noarch.rpm 

Ubuntu / Debian 平台通过apt等包管理器来管理软件的下载,可以访问如下地址: MySQL APT Repository

1.3.2 FTP 上传下载好的rpm(有问题)

另外一种通过windows 主机下载好,然后通过xftp 上传上去。

首先可以访问 MySQL Yum Repository

  • 点击图中所示,下载该rpm文件
    在这里插入图片描述
  • 下载完成后我们通过 xftp 将这个rpm 文件上传到阿里云Centos 7.x 服务器上。

为了方便管理建议放到 /opt 路径下
在这里插入图片描述

更多详情参考Installing MySQL on Linux Using the MySQL Yum Repository

1.3.3 RPM方式安装(推荐)

  • 经过测试发现上面两种都会报依赖找不到问题,最终使用这种方式成功。
  • 官方参考文档

输入如下命令查看当前操作系统内核版本以及位数

uname -a

如下所示,我们可以看出当前操作系统是 x86_64 架构
在这里插入图片描述
输入如下命令我们可以看到操作系统的型号

cat /etc/centos-release

如下所示,可以看出当前操作系统是CentOS Linux release 7.7.1908 (Core)

在这里插入图片描述
因此勾选
在这里插入图片描述
我们下载这个RPM Bundle 版本

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
在这里插入图片描述
因为这个版本里面包含了其他所有的RPM 源。

下载完成解压如下所示:
在这里插入图片描述
然后通过XFTP上传到/opt 文件夹下

1.4. 将软件库镜像安装到本地(可跳过)

下载好软件库镜像后,我们需要将其安装到本地仓库。

在下载好的rpm 的当前目录执行如下命令

  • 有的说法是这种
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
  • 官方推荐的是这种

如果是Centos8 执行如下命令:

sudo yum localinstall mysql80-community-release-el8-1.noarch.rpm 

如果是Centos 7 执行如下命令:

sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm

如果是Centos6 执行如下命令:

sudo yum localinstall mysql80-community-release-el6-3.noarch.rpm 

1.5 旧版本清理篇

在安装之前为了避免冲突或之前错误的安装,需要对旧版本可以执行清理。

1.5.1 删除MariaDB的文件

由于 在CentOS中默认安装有MariaDB,所以如果我们不删除MariaDB文件的话,安装mysql时可能会发生冲突

  • 使用rpm 命令查找出要删除的mariadb文件
rpm -pa | grep mariadb

如果回显中有 mariadb-libs-5.5.56-2.el7.x86_64

执行删除

yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

注:
网上还有一种方法是这样

rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps 

1.5.2 删除错误的MySQL文件

  • 查看系统是否已经安装了mysql数据库
rpm -qa | grep mysql
  • 删除已经安装的文件
yum remove mysql-xxx-xxx
  • 找出所有的mysql的配置文件(MySQL卸载不会自动删除配置文件,需自行清理)
find / -name mysql
  • 依次删除这些配置文件
rm -rf /var/lib/mysql

1.6 查看配置可以安装的软件(可跳过)

刚才仓库镜像已经安装完毕,我们可以看下当前都有哪些软件可以安装。

yum repolist all | grep mysql

执行成功如下所示:
在这里插入图片描述

  • 在MySQL Yum存储库中,不同版本的MySQL Community Servers托管在不同的子存储库中。
  • 默认情况下,默认启用最新的GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 8.0系列)的子存储库均被禁用。
  • 如果想修改这个开启和禁用,在此之前,我们需要安装一个类库,否则会提示找不到yum-config-manger 命令。
sudo yum install yum-utils -y

禁用MySQL 5.7,输入如下命令:

sudo yum-config-manager --disable mysql57-community 

使用MySQL 8.0,输入如下命令:

sudo yum-config-manager --enable mysql80-community 

验证是否已使用以下命令替换了正确的子存储库并检查其输出

yum repolist enabled | grep "mysql.*-community.*"

这个命令会显示所有enabled 启用的MySQL 组件,执行成功如下所示:
在这里插入图片描述

1.7 安装MySQL

方法一(安装各种依赖找不到)

这种方式存在问题,会提示各种依赖找不到

按照如下顺序安装MySQL各个组件

  • mysql-community-server
  • mysql-community-client
  • mysql-community-libs
  • mysql-community-common
  • mysql-community-libs-compact

通过以下命令安装MySQL(对于启用了dnf的系统,将命令中的yum替换为dnf):

sudo yum install mysql-community-server

该软件包用于MySQL服务器(mysql-community-server)和运行服务器所需组件的软件包,包括客户端的软件包(mysql-community-client),常见错误消息以及客户端和服务器的字符集(mysql-community-common)和共享客户端库(mysql-community-libs)。

方法二(亲测可行)

需要使用上面的下载的RPM Bundle 压缩包,然后解压到/opt 目录下,执行如下命令才得行。

  • 服务端和客户端都安装,执行如下命令
sudo yum install mysql-community-{server,client,common,libs}-*
  • 只安装客户端
sudo yum install mysql-community-{client,common,libs}-*

1.8 开启MySQL Server

开启MySQL Server 需要输入如下命令:

systemctl start mysqld

1.9 获取初始化密码

sudo grep 'temporary password' /var/log/mysqld.log

打印输出如下:

2019-11-28T16:54:56.521130Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: TKdJJ*urZ2k0

我们记下临时密码 TKdJJ*urZ2k0

1.10 尝试登陆MySQL

mysql -uroot -p

会提示输入密码,我们输入刚才出现的临时密码即可。

登陆成功后如下所示:
在这里插入图片描述

1.11 更新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

执行如上命令后就把数据库密码修改为MyNewPass4!

默认情况下安装validate_password。
validate_password实现的默认密码策略至少需要一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码总长度至少为8个字符。

1.12 阿里云控制台配置安全组

为了安全性,阿里云服务器默认需要手动配置对外提供的端口的。

1.12.1 登录阿里云控制台,找到安全组

在这里插入图片描述
点进去可以看到如下所示:
在这里插入图片描述

1.12.2 入方向

在这里插入图片描述

1.12.3 出方向

安全组出方向默认允许所有访问,即从安全组内ECS访问外部都是放行的。

在这里插入图片描述

1.13 配置MySQL支持远程登录

MySQL 默认是不支持远程登录访问的,需要配置下。

MySQL 8.0 版本更新方法如下:

  • 1.命令行模式下,输入账号密码登录进入
use mysql;

2.Mysql默认不允许远程登录,所以需要开启远程访问权限

select user,authentication_string,host from user;

3.更新localhost 为任意IP

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

4.刷新策略

FLUSH PRIVILEGES;

5.建议重启下MySQL 服务

停止MySQL服务

systemctl stop mysqld

启动MySQL服务

systemctl start mysqld

如果是低版本的MySQL 5.7 ,请参考我的另一篇博文

解决方案之配置MySQL远程登陆/访问

1.14 使用客户端远程连接MySQL

Navicat Premium 12 连接测试方法如下:
在这里插入图片描述

如果还不行,可以关闭防火墙

systemctl stop firewalld.service 

或配置防火墙指定开放哪个端口

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

0x02 参考资料

发布了162 篇原创文章 · 获赞 219 · 访问量 40万+

猜你喜欢

转载自blog.csdn.net/hadues/article/details/103098381