程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 解決MySQL無法遠程連接的方法

解決MySQL無法遠程連接的方法

編輯:關於MYSQL數據庫

MySql遠程連接無法打開解決辦法


1、改表法

請使用mysql管理工具,如:SQLyog Enterprise、navicate mysql

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦使用mysql管理工具登入mysql後,更改 "mysql" 數據庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"


2、 授權法。

A:你想mysql賬戶myuser使用密碼mypassword從任何主機連接到mysql服務器的話,那就在mySQL命令行下輸入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

若上面那條命令還沒有奏效,那就使用下面的命令,一定成功!

如果你想允許想mysql賬戶myuser從ip為192.168.1.3的主機連接到mysql服務器,並使用mypassword作為密碼,那就在mySQL命令行下輸入:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

以下是其它網友的補充:

在遠程主機上,我開啟了mysql 服務,用 phpmyadmin 可以打開,比如說用戶名為 root,密碼為 123456。不過用 Mysql 客戶端遠程連接時卻報了錯誤,比如 Mysql-Front 報了如下錯誤。

Access denied for user ‘root'@'121.42.8.33′(using password:YES)

2015430171226837.jpg (752×512)

比較奇怪,phpmyadmin 可以正常訪問,而 Mysql-Front 為什麼無法連接呢?可能的原因,應該就是 IP 限制了,phpmyadmin在連接時使用的是localhost,而我們訪問頁面才使用的遠程主機的 IP,而 Mysql-Front 連接的是遠程主機。

解決方法如下,我們需要新建一個用戶,然後授予所有 IP 可以訪問的權限就好啦。

在下面的 sql 語句中,username 即為用戶名,password 為你要設置的密碼:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
 
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
 
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
 
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
 
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

通過執行以上語句,便創建了一個用戶名為 username,密碼為 password 的新賬戶,再用新賬號登錄,就可以連接成功啦。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved