Ubuntu MariaDB连接问题可按以下步骤解决:
检查服务状态
确保MariaDB服务已启动:
sudo systemctl status mariadb
若未启动,执行:
sudo systemctl start mariadb
sudo systemctl enable mariadb # 设置开机自启
配置远程访问
/etc/mysql/mariadb.conf.d/50-server.cnf
,将 bind-address
从 127.0.0.1
改为 0.0.0.0
,允许监听所有网络接口:sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
# 找到 bind-address 行并修改
sudo systemctl restart mariadb
0.0.0.0
替换为目标IP(如 192.168.1.100
)。授权远程用户权限
使用root用户登录MariaDB,创建远程用户并授权:
CREATE USER 'remote_user'@'%' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
('%'
表示允许所有主机访问,生产环境建议替换为具体IP)
检查防火墙设置
确保防火墙开放MariaDB默认端口(3306):
sudo ufw allow 3306/tcp
sudo ufw reload
测试连接
从其他设备使用命令行或客户端工具连接:
mysql -h Ubuntu服务器IP -u remote_user -p
输入密码即可测试。
常见问题及解决:
sudo mysql_secure_installation
重置root密码,或检查用户权限:SELECT User, Host FROM mysql.user;
SHOW GRANTS FOR '用户名'@'主机';
sudo netstat -tulnp | grep 3306
若问题仍未解决,可查看MariaDB错误日志 /var/log/mysql/error.log
获取详细信息。