温馨提示×

Ubuntu MariaDB网络配置要点

小樊
45
2025-10-12 06:29:13
栏目: 云计算

Ubuntu MariaDB网络配置要点

1. 修改绑定地址以允许远程访问

默认情况下,MariaDB仅监听本地回环接口(127.0.0.1),需修改配置文件调整绑定地址。编辑/etc/mysql/mariadb.conf.d/50-server.cnf(Ubuntu下MariaDB主配置文件路径),找到bind-address参数,将其值从127.0.0.1改为0.0.0.0(允许所有网络接口连接)或服务器具体IP(仅允许特定IP段连接)。修改后需重启MariaDB服务使配置生效:sudo systemctl restart mariadb

2. 配置防火墙允许数据库端口访问

Ubuntu系统默认启用ufw防火墙,需开放MariaDB的默认端口(3306)以允许外部连接。执行以下命令:
sudo ufw allow 3306/tcp(允许TCP协议的3306端口);
sudo ufw reload(重新加载防火墙规则使变更生效)。
若使用iptables,可添加规则:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

3. 创建远程访问用户并授权

默认root用户仅允许本地登录,需创建专门用于远程访问的用户并授予相应权限。登录MariaDB:sudo mysql -u root -p,执行以下SQL命令:

  • 创建用户(将remote_useryour_password替换为实际用户名和密码):CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
  • 授予权限(*.*表示所有数据库的所有权限,可根据需求限制为特定数据库,如test_db.*):GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
  • 刷新权限使变更立即生效:FLUSH PRIVILEGES;
    注意:出于安全考虑,建议仅为远程用户授予必要权限,避免使用root账户远程登录。

4. 调整连接数参数优化并发性能

根据应用需求调整MariaDB的最大连接数,避免因连接数不足导致拒绝服务。编辑/etc/mysql/mariadb.conf.d/50-server.cnf,在[mysqld]部分添加或修改max_connections参数(如设置为500):max_connections = 500
可选:调整空闲连接超时时间,释放闲置资源(如wait_timeout = 28800interactive_timeout = 28800,单位为秒,表示8小时后自动关闭空闲连接)。修改后重启服务:sudo systemctl restart mariadb

5. 验证网络连通性与配置正确性

  • 本地测试:使用mysql -u root -p命令登录MariaDB,确认本地连接正常。
  • 远程测试:在另一台设备上使用mysql -h <服务器IP> -u remote_user -p命令尝试远程连接,若提示“ERROR 1045 (28000): Access denied”需检查用户权限;若提示“Can’t connect to MySQL server”需排查防火墙、绑定地址或网络连通性问题。
  • 网络诊断:使用ping <服务器IP>检查客户端与服务器的网络连通性;使用telnet <服务器IP> 3306测试3306端口是否可达(若无法连接,需检查防火墙或服务器端口是否监听)。

6. 确保MariaDB服务正常运行

配置完成后,需确认MariaDB服务处于运行状态:sudo systemctl status mariadb(显示“active (running)”表示正常)。若服务未启动,使用sudo systemctl start mariadb启动;若需开机自启,执行sudo systemctl enable mariadb

0