Centos 服务器 MySQL 8.0 快速开启远程访问

环境MySQL 8.0(低版本会有些不同), Rocky Linux 9.0(CentOS)

直接上干货,相信大家看到这个文章的时候都已经安装完了。

1. 先从服务器上使用 root 进行登录(刚安装完默认只能本地登录):

# 执行下面命令输入密码,然后回车
mysql -u root -p
# 这里会有些不同,MySQL 安装完后:

# MySQL 5.7 的 root 密码为空,直接回车即可,

# MySQL 8.0 会为 root 一个随机密码,需要去文件中查看。
less /var/log/mysqld.log

MySQL 不同版本安装完差异,可以参考文章: CentOS 8 服务器安装 MySQL 8.0

2. 修改配置文件,允许远程登录

编辑 MySQL 配置文件,使用以下命令打开配置文件:

sudo vi /etc/my.cnf

[mysqld] 部分添加或修改 bind-address 配置项,将其设置为 MySQL 服务器的 IP 地址,如果要允许所有远程访问,则可以将其设置为 0.0.0.0

bind-address = 0.0.0.0

保存并关闭文件。

重启 MySQL 服务以使更改生效:

sudo systemctl restart mysqld

3. 登录 MySQL 服务器,并授权远程访问的用户

sudo mysql -u root -p

在 MySQL 命令行中执行以下命令(假设远程访问用户为 remote_user,密码为 password):

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

退出 MySQL 命令行:

exit

4. 防火墙开放 MySQL 端口
检查防火墙状态:

sudo systemctl status firewalld

如果防火墙处于关闭状态,可以跳过此步骤。如果防火墙处于运行状态,需要开放 MySQL 服务的端口(默认为3306):

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

现在,你应该可以通过远程连接工具访问 MySQL 8.0 服务器了。请注意,开启远程访问可能会带来安全风险,建议限制可访问的 IP 地址范围、使用强密码保护数据库或使用其他安全措施保护数据库。

【注】如果是线上环境建议自己搭建,如果个人测试学习使用那肯定直接 Docker 安装 MySQL 直接梭哈,简单快速,命令如下:

docker run --name test-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql
  • MYSQL_ROOT_PASSWORD:设置 root 的默认密码。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注