记录阿里云服务器linux上部署mysql服务。

1. 下载rpm包

mysql下载rpm包,链接:https://downloads.mysql.com/archives/community/。
linux部署mysql服务-LMLPHP
选择操作系统类型和版本后,下载红框中内容。

2. 上传解压rpm包

将通过rz -e命令rpm包上传到云服务器。然后在云服务器上新建一个文件夹,用于放解压后的rpm包。

mkdir mysql-8.0.32
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.32

解压完成后可以在mysql-8.0.32文件夹下看到解压内容:
linux部署mysql服务-LMLPHP

3. 安装rpm包

安装之前需要先安装依赖。

yum -y install openssl-devel

然后依次执行下述命令安装。

rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-8.0.32-1.el7.x86_64.rpm 
rpm -ivh mysql-community-devel-8.0.32-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm

执行第三条命令时遇到依赖检测失败:

[root@iZbp16uc48nwzbq6nzl1xtZ mysql-8.0.32]# rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm 
警告:mysql-community-libs-8.0.32-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
错误:依赖检测失败:
        mariadb-libs 被 mysql-community-libs-8.0.32-1.el7.x86_64 取代

解决方法:卸载mariadb然后重新执行第三条命令。

rpm -e mariadb-libs --nodeps

执行第七条命令时遇到依赖检测失败:

[root@iZbp16uc48nwzbq6nzl1xtZ mysql-8.0.32]# rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm 
警告:mysql-community-server-8.0.32-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
错误:依赖检测失败:
        libaio.so.1()(64bit) 被 mysql-community-server-8.0.32-1.el7.x86_64 需要
        libaio.so.1(LIBAIO_0.1)(64bit) 被 mysql-community-server-8.0.32-1.el7.x86_64 需要
        libaio.so.1(LIBAIO_0.4)(64bit) 被 mysql-community-server-8.0.32-1.el7.x86_64 需要
        mysql-community-icu-data-files = 8.0.32-1.el7 被 mysql-community-server-8.0.32-1.el7.x86_64 需要

解决方法:安装libaio库

yum -y install libaio

重新执行第七条命令,依赖检测失败:

[root@iZbp16uc48nwzbq6nzl1xtZ mysql-8.0.32]# rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm 
警告:mysql-community-server-8.0.32-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 3a79bd29: NOKEY
错误:依赖检测失败:
        mysql-community-icu-data-files = 8.0.32-1.el7 被 mysql-community-server-8.0.32-1.el7.x86_64 需要

解决方法:导入mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm 

重新执行第七条命令,成功。

4. 启动mysql服务

通过下面的命令启动mysql服务。

systemctl start mysqld

rpm安装mysql会随机生成一个密码,可在/var/log/mysqld.log中找到这个密码。
linux部署mysql服务-LMLPHP
如图,账号是root,密码是owtpZ<5iw?gR。
尝试本地连接,如下图就是连接上了:
linux部署mysql服务-LMLPHP

5. 修改root的密码

在mysql环境中执行下面的语句。

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

其中password要求包含大小写字母、特殊字符、数字,且不少于8位。如果设置的密码不符合这个规则就会报ERROR。
如果看到Query OK, 0 rows affected (0.01 sec),说明设置成功。

6. 创建远程连接用户

root用户只允许localhost访问,不允许远程连接,所以我们需要创建一个用户支持远程连接,给他权限。
在mysql环境执行下面的命令创建用户:

create user 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

注意,密码需要符合上文所说的规则。
创建成功后,给这个用户权限:

grant all on *.* to 'username'@'%';

7. 检查防火墙

因为是在阿里云服务器上安装mysql,需要检查防火墙是否允许数据库连接的端口通过。
CentOS 7系统默认的防火墙是Firewall,可以通过下面的命令检测防火墙状态。

firewall-cmd --state

我这边是关闭防火墙的状态。如果防火墙开启,执行下面的命令开放3306端口并且重载规则。

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

通过下面的命令查看设置是否成功:

firewall-cmd --list-all

8. 阿里云安全组开放3306端口

linux部署mysql服务-LMLPHP
出入方向都需要配置。

9. 远程连接

本地navicat连接数据库服务,成功。
linux部署mysql服务-LMLPHP

10. 停止数据库服务

执行命令停止数据库服务:

systemctl stop mysqld
06-02 19:23