1. 远程连接 MySQL 数据库
要远程连接 MySQL 数据库,需要在 MySQL 服务器上开启远程访问权限。
1.1 修改 MySQL 配置文件
MySQL 的配置文件位于 /etc/mysql/mysql.conf.d/mysqld.cnf。使用任何文本编辑器打开该文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到下面这一行:
bind-address = 127.0.0.1
将这一行注释掉:
# bind-address = 127.0.0.1
保存并关闭文件。
1.2 创建远程连接用户
MySQL 默认只允许本地访问,需要创建一个允许远程访问的用户。可以使用 MySQL 自带的命令行工具创建用户:
CREATE USER '远程用户名'@'%' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON 数据库名.* TO '远程用户名'@'%';
FLUSH PRIVILEGES;
其中:
'远程用户名' 是要创建的远程连接用户的用户名;
'%' 表示允许任何 IP 地址的主机连接,也可以指定具体 IP 地址,如 192.168.1.100;
'密码' 是要创建的用户的密码;
'数据库名.*' 表示要授权的数据库和所有表。
1.3 重启 MySQL 服务
修改配置文件和创建用户后,需要重启 MySQL 服务使其生效:
sudo service mysql restart
现在就可以使用远程连接了。
2. 远程连接 MySQL 数据库并修改端口
要远程连接 MySQL 数据库并修改端口,需要修改 MySQL 服务器上的配置文件,并在 Linux 防火墙上开放新端口。
2.1 修改 MySQL 配置文件
MySQL 的配置文件位于 /etc/mysql/mysql.conf.d/mysqld.cnf。使用任何文本编辑器打开该文件,找到下面这一行:
port = 3306
将端口号修改为任意未被占用的端口,如 3307:
port = 3307
保存并关闭文件。
2.2 开放新端口
使用 Linux 防火墙工具(如 iptables)开放新端口:
sudo iptables -A INPUT -p tcp --dport 3307 -j ACCEPT
如果使用了 ufw 防火墙工具,也可以使用以下命令开放新端口:
sudo ufw allow 3307/tcp
2.3 重启 MySQL 服务
修改配置文件和开放新端口后,需要重启 MySQL 服务使其生效:
sudo service mysql restart
现在就可以远程连接 MySQL 数据库并使用新端口了。