MySQL 是世界上最流行的开源关系型数据库管理系统。

在默认的 CentOS 8 系统源仓库里,MySQL 数据库服务器最新可用的版本是 8.0。官方表示MySQL 8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!

centos8 安装mysql(8中安装部署和配置)(1)

本文我们将会向你展示如何在 CentOS 8 系统上安全安装 MySQL 8.0。

一、安装MySQL8.0

以 root 或者其他有 sudo 权限的用户身份,通过使用 CentOS 包管理器来安装 MySQL 8.0 服务器:

sudo dnf install @mysql

@mysql模块会安装 MySQL 和所有依赖安装包。

centos8 安装mysql(8中安装部署和配置)(2)

一旦安装完成,启动 MySQL 服务并且启用开机启动功能,运行下面的命令:

sudo systemctl enable --now mysqld

centos8 安装mysql(8中安装部署和配置)(3)

检查 MySQL 服务器是否正在运行,输入:

sudo systemctl status mysqld

此时,使用mysql -u root 命令,就可以登录并连接到MySQL 服务器了,如图所示。

centos8 安装mysql(8中安装部署和配置)(4)

二、添加密码及安全设置

运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:

sudo mysql_secure_installation

步骤如下:

要求你配置VALIDATE PASSWORD component(验证密码组件): 输入y ,回车进入该配置

选择密码验证策略等级, 我这里选择0 (low),回车

输入新密码两次

确认是否继续使用提供的密码?输入y ,回车

centos8 安装mysql(8中安装部署和配置)(5)

移除匿名用户? 输入y ,回车

不允许root远程登陆? 我这里需要远程登陆,所以输入n ,回车

移除test数据库? 输入y ,回车

重新载入权限表? 输入y ,回车

centos8 安装mysql(8中安装部署和配置)(6)

三、登录MySQL

此时,就可以使用上一步设置的root账号密码登录到MySQL服务器了。

[root@centos-101 ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 12

Server version: 8.0.26 Source distribution

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

四、配置远程登录

为了能够远程登录到MySQL服务器,我们需要完成如下配置。

下图是在没有配置之前,我们通过其他主机是无法登录到MySQL服务器的。

centos8 安装mysql(8中安装部署和配置)(7)

(1)关闭MySQL 主机防火墙

简单一点,直接禁用防火墙。

systemctl disable firewalld

systemctl stop firewalld

systemctl status firewalld

centos8 安装mysql(8中安装部署和配置)(8)

也可以开启系统防火墙的3306端口,这样就不必禁用防护墙了。

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

sudo firewall-cmd --reload

(2)配置远程登录

接下来本机登录MySQL,将root用户的host字段设为'%',意为接受root所有IP地址的登录请求:

本机登录MySQL:mysql -uroot -p<上面步骤中设置的密码>

接着继续执行mysql语句,将将root用户的host字段设为'%':

use mysql;

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

flush privileges;

centos8 安装mysql(8中安装部署和配置)(9)

再次通过其他主机登录MySQL 服务器,此时就可以正常连接了。

centos8 安装mysql(8中安装部署和配置)(10)

关于MySQL 字符集设置,关注小编的下一篇文章。

,