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
獲取詳細信息。