环境: 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
的默认密码。