Ubuntu MariaDB连接问题可按以下步骤排查解决:
检查服务状态
确保MariaDB服务运行:
sudo systemctl status mariadb
未运行则启动:
sudo systemctl start mariadb
sudo systemctl enable mariadb # 设置开机自启
检查防火墙设置
开放3306端口(默认MariaDB端口):
sudo ufw allow 3306/tcp
sudo ufw reload
或使用iptables:
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
修改配置文件
编辑 /etc/mysql/mariadb.conf.d/50-server.cnf,将 bind-address 设为 0.0.0.0 以允许远程连接:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
# 找到 bind-address = 127.0.0.1,改为 bind-address = 0.0.0.0
sudo systemctl restart mariadb
授权远程访问
登录MariaDB,为用户授予远程权限(示例为remote_user从任意IP访问所有数据库):
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
仅允许特定IP访问可替换'%'为具体IP。
检查网络连通性
ping server_ip
telnet server_ip 3306
查看日志定位问题
/var/log/mysql/error.logdmesg 或 journalctl -u mariadb常见错误解决:
按以上步骤操作后仍无法解决,可提供具体错误信息进一步分析。