使用DbVisualizer(版本10.0.21)來連線VMWare開的虛擬機資料庫,卻顯示下面的錯誤:
MySQL Connection Error: (1130) Host 'xxx.xx.x.x' is not allowed to connect to this MySQL server。
環境
- MySQL 5.7.27
- Ubuntu 18.04
步驟
1. 開放防火牆
預設的埠號(port number)3306。
sudo ufw allow mysql/tcp
sudo ufw status
Status: active
To Action From
-- ------ ----
3306/tcp ALLOW Anywhere
3306/tcp (v6) ALLOW Anywhere (v6)
2. 修改綁定的連線位址
請找到指定檔案
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把這一行刪掉或註解
bind-address=127.0.0.1
3. 新增遠端連線的使用者
預設的情況下,用戶應該都只能從localhost進行連線,查詢方式:
SELECT User,Host FROM mysql.user;
+--------------+------------------+
| host | User |
+--------------+------------------+
| localhost | debian-sys-maint |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+--------------+------------------+
可以看到有4個使用者,允許從localhost進行連線。
方法一、新增指定IP的連線用戶
CREATE USER 'username'@'ip_address' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'ip_address';
方法二、新增任意IP的連線用戶
如果是
%就是不指定IP
CREATE USER 'username'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
新增完成之後請執行:
FLUSH PRIVILEGES;
可以確認一下使用者有沒有新增成功,也可以查詢使用者權限:
SHOW GRANTS FOR username@ip_address;
// 查詢現在使用者的權限
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();
步驟到此就完成了!試著用剛剛的帳密登入mysql囉
DbVisualizer連線步驟
1.設定專案名稱
2. 資料庫類型
3. 填寫資料庫位址、port number、使用者帳密
參考資料:
https://docs.bitnami.com/virtual-machine/apps/reviewboard/administration/connect-remotely/
其他:
DbVisualizer 10.0.21 [
安裝]
phpmyadmin的替代方案
https://alternative.me/phpmyadmin