Debian MySQL网络配置指南
Debian系统中,MySQL的网络配置主要涉及本地监听设置、远程访问权限、防火墙开放及安全加固等环节,以下是详细步骤:
默认情况下,MySQL仅监听本地回环地址(127.0.0.1),无法接受远程连接。需修改配置文件调整监听范围:
/etc/mysql/mysql.conf.d/mysqld.cnf
或/etc/mysql/my.cnf
):sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
部分下的bind-address
参数,将其修改为:
0.0.0.0
:允许MySQL监听所有网络接口(适用于需要远程访问的场景,生产环境需谨慎);bind-address = 123.45.67.89
),仅允许该IP访问。修改配置文件后,需重启MySQL服务使更改生效:
sudo systemctl restart mysql
可通过sudo systemctl status mysql
命令检查服务状态,确保无报错。
MySQL默认使用3306端口,需确保防火墙(如UFW)开放该端口:
sudo ufw allow 3306/tcp # 允许TCP协议的3306端口
sudo ufw reload # 重新加载防火墙规则,使更改生效
可通过sudo ufw status
命令验证端口是否开放。
默认情况下,root用户仅能本地登录,建议创建专用远程用户并授权:
mysql -u root -p
remote_user
,密码StrongPassw0rd
),并允许从任意IP(%
)连接:CREATE USER 'remote_user'@'%' IDENTIFIED WITH mysql_native_password BY 'StrongPassw0rd!';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
安全提示:生产环境中,建议将
%
替换为具体IP段(如192.168.1.%
),限制访问来源。
从远程机器使用MySQL客户端测试连接:
mysql -u remote_user -p -h your_server_ip
输入密码后,若成功进入MySQL命令行,则说明网络配置生效。
mysql_secure_installation
工具设置强密码;DELETE FROM mysql.user WHERE User=''; FLUSH PRIVILEGES;
,禁止匿名访问;ssh -L 3307:localhost:3306 user@your_mysql_server_ip
),或通过MySQL用户权限限制来源IP;ssl=1
,并配置SSL证书,确保数据传输加密。bind-address
设置为0.0.0.0
且允许root用户远程访问,需通过专用用户和IP限制降低风险;/var/log/mysql/error.log
),排查网络连接问题。