(2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程

在CentOS 7上安装MySQL 5.7并配置允许远程连接,以下是详细步骤:

1. 添加MySQL官方存储库

首先,下载并添加MySQL的官方存储库。默认情况下,添加的存储库可能会包含最新的MySQL版本(如MySQL 8.0),所以我们需要调整存储库以启用MySQL 5.7。

#随便进入一个目录
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
# 导入MySQL GPG密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

tips:导入MySQL GPG密钥的作用是防止出现以下报错:

从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
导入 GPG key 0x5072E1F5:
 用户ID     : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 指纹       : a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
 软件包     : mysql57-community-release-el7-11.noarch (installed)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
是否继续?[y/N]:y


mysql-community-libs-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装


 失败的软件包是:mysql-community-libs-5.7.44-1.el7.x86_64
 GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

2. 安装MySQL 5.7

安装MySQL 5.7服务器。

sudo yum install mysql-community-server

3. 启动MySQL服务

安装完成后,启动MySQL服务并设置为开机启动。

sudo systemctl start mysqld
sudo systemctl enable mysqld

4. 获取临时密码

在安装过程中,MySQL会为root用户生成一个临时密码。你可以在日志文件中找到这个密码。

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

5. 安全设置

使用临时密码登录MySQL,并运行安全设置脚本。

mysql_secure_installation

你将被提示输入临时密码并设置新密码。随后,会有一系列安全配置选项:

  • 是否设置密码强度验证插件:Re-enter new password:
  • 是否更改root密码:Change the password for root ? ((Press y|Y for Yes, any other key for No) :
  • 是否删除匿名用户:Remove anonymous users? (Press y|Y for Yes, any other key for No) :
  • 是否禁止root远程登录(该项禁止的话无法本地root账号连接数据库 !):Remove anonymous users? (Press y|Y for Yes, any other key for No) :
  • 是否删除测试数据库:Remove anonymous users? (Press y|Y for Yes, any other key for No) :
  • 是否重新加载权限表:Remove anonymous users? (Press y|Y for Yes, any other key for No) :

通常你可以选择"yes"来加强安全性。

6. 登录MySQL

使用新设置的root密码登录MySQL。

mysql -u root -p

7. 设置允许远程连接

执行以下SQL命令来创建用户并允许远程连接:

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8. 配置MySQL以允许远程连接(没有就跳过)

编辑MySQL配置文件 /etc/my.cnf/etc/my.cnf.d/mysql-server.cnf,注释掉或修改 bind-address 行,使MySQL监听所有IP地址:

sudo vi /etc/my.cnf

找到以下行并注释掉:

#bind-address = 127.0.0.1

或者修改为:

bind-address = 0.0.0.0

9. 重启MySQL服务

使配置生效:

sudo systemctl restart mysqld

10. 配置防火墙

允许MySQL的默认端口(3306)通过防火墙:

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

总结

通过以上步骤,你可以在CentOS 7上成功安装并配置MySQL 5.7数据库,并允许远程连接。以下是完整的命令列表,便于复制和执行:

# 下载并添加MySQL官方存储库
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm

# 安装MySQL 5.7
sudo yum install mysql-community-server

# 启动MySQL服务并设置为开机启动
sudo systemctl start mysqld
sudo systemctl enable mysqld

# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 运行安全设置脚本
mysql_secure_installation

# 登录MySQL
mysql -u root -p

# 设置允许远程连接
# 以下命令在MySQL命令行中执行
# CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
# GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
# FLUSH PRIVILEGES;

# 配置MySQL以允许远程连接
# 编辑 /etc/my.cnf 文件
sudo vi /etc/my.cnf

# 注释掉 bind-address 行
#bind-address = 127.0.0.1

# 或者修改为:
bind-address = 0.0.0.0

# 重启MySQL服务
sudo systemctl restart mysqld

# 配置防火墙
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload

相关推荐

  1. (2024最新CentOS 7在线安装MySQL 5.7|教程

    2024-06-13 20:48:03       8 阅读
  2. CentOS安装MySQL 5.7的详细教程

    2024-06-13 20:48:03       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-13 20:48:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-13 20:48:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-13 20:48:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-13 20:48:03       18 阅读

热门阅读

  1. cuda 架构设置

    2024-06-13 20:48:03       6 阅读
  2. 【npm如何发布自己的插件包】

    2024-06-13 20:48:03       6 阅读
  3. chat gpt基本原理解读

    2024-06-13 20:48:03       10 阅读
  4. 标准化数据

    2024-06-13 20:48:03       6 阅读
  5. 使用nmcli命令创建、删除bond

    2024-06-13 20:48:03       6 阅读
  6. 《阅读的方法》读后感——超越期待的收获

    2024-06-13 20:48:03       5 阅读
  7. 华为数通——奇偶数子网划分与流量控制(QoS)

    2024-06-13 20:48:03       7 阅读
  8. 中介子方程十四

    2024-06-13 20:48:03       4 阅读
  9. 仲恺ZK——信计专业《软件体系结构》复习总结

    2024-06-13 20:48:03       6 阅读