使用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