记录阿里云服务器linux上部署mysql服务。
文章目录
- 1. 下载rpm包
- 2. 上传解压rpm包
- 3. 安装rpm包
- 4. 启动mysql服务
- 5. 修改root的密码
- 6. 创建远程连接用户
- 7. 检查防火墙
- 8. 阿里云安全组开放3306端口
- 9. 远程连接
- 10. 停止数据库服务
1. 下载rpm包
mysql下载rpm包,链接:https://downloads.mysql.com/archives/community/。
选择操作系统类型和版本后,下载红框中内容。
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文件夹下看到解压内容:
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中找到这个密码。
如图,账号是root,密码是owtpZ<5iw?gR。
尝试本地连接,如下图就是连接上了:
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'@'%';
通过命令可进入sql环境:mysql -u username -p,然后输入密码。
通过quit;退出sql环境。
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端口
出入方向都需要配置。
9. 远程连接
本地navicat连接数据库服务,成功。
10. 停止数据库服务
执行命令停止数据库服务:
systemctl stop mysqld