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

MySQL實現遠程登錄的方法

編輯:JAVA編程入門知識

原因分析:
  Host 'Local' is not allowed to connect to this MySQL server 典型的遠程權限問題。
問題症結:

  MySQL 沒有開放遠程登錄的權限。要看你的服務器到底用的那種系統,linux或者是Windows,這個解決辦法不同,你可以上網搜索一下,解決問題的資料很多。
解決辦法:
  開啟 MySQL 的遠程登陸帳號有兩大步:
1、確定服務器上的防火牆沒有阻止 3306 端口。
  MySQL 默認的端口是 3306 ,需要確定防火牆沒有阻止 3306 端口,否則遠程是無法通過 3306 端口連接到 MySQL 的。
  如果您在安裝 MySQL 時指定了其他端口,請在防火牆中開啟您指定的 MySQL 使用的端口號。
  如果不知道怎樣設置您的服務器上的防火牆,請向您的服務器管理員咨詢。
2、增加允許遠程連接 MySQL 用戶並授權。
  1)首先以 root 帳戶登陸 MySQL
  在 Windows 主機中點擊開始菜單,運行,輸入“cmd”,進入控制台,MySQL 的 bin 目錄下,然後輸入下面的命令。
  在 Linux 主機中在命令提示行下輸入下面的命令。

代碼如下:

> MySQL -uroot -p123456

123456 為 root 用戶的密碼。
2)創建遠程登陸用戶並授權

代碼如下:

> grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';

  上面的語句表示將 discuz 數據庫的所有權限授權給 ted 這個用戶,允許 ted 用戶在 123.123.123.123 這個 IP 進行遠程登陸,並設置 ted 用戶的密碼為 123456 。
下面逐一分析所有的參數:
  all PRIVILEGES 表示賦予所有的權限給指定用戶,這裡也可以替換為賦予某一具體的權限,例如:select,insert,update,delete,create,drop 等,具體權限間用“,”半角逗號分隔。
  discuz.* 表示上面的權限是針對於哪個表的,discuz 指的是數據庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部數據庫的全部表授權為“*.*”,對於某一數據庫的全部表授權為“數據庫名.*”,對於某一數據庫的某一表授權為“數據庫名.表名”。
  ted 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
  123.123.123.123 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為“%”即可。
  123456 為用戶的密碼。
執行了上面的語句後,再執行下面的語句,方可立即生效。

代碼如下:

> flush privileges;

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