久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MYSQL如何配置遠程連接

139次閱讀
沒有評論

共計 4744 個字符,預計需要花費 12 分鐘才能閱讀完成。

這篇文章主要介紹 MYSQL 如何配置遠程連接,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

開啟 MySQL 的遠程登陸帳號有兩大步:

1、確定服務器上的防火墻沒有阻止 3306 端口。

MySQL 默認的端口是 3306,需要確定防火墻沒有阻止 3306 端口,否則遠程是無法通過 3306 端口連接到 MySQL 的。

如果您在安裝 MySQL 時指定了其他端口,請在防火墻中開啟您指定的 MySQL 使用的端口號。

如果不知道怎樣設置您的服務器上的防火墻,請向您的服務器管理員咨詢。

2、增加允許遠程連接 MySQL 用戶并授權。

1)首先以 root 帳戶登陸 MySQL

在 Windows 主機中點擊開始菜單,運行,輸入“cmd”,進入控制臺,MySQL 的 bin 目錄下,然后輸入下面的命令。

在 Linux 主機中在命令提示行下輸入下面的命令。

CODE: [COPY]

MySQL -uroot -p123456

123456 為 root 用戶的密碼。

2)創建遠程登陸用戶并授權

CODE: [COPY]

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 為用戶的密碼。

執行了上面的語句后,再執行下面的語句,方可立即生效。

CODE: [COPY]

flush privileges;

—————————————————————————————————————–

解決方法:

1、改表法:

可能是你的帳號不允許從遠程登陸,只能在 localhost。這個時候只要在 localhost 的那臺電腦,登入 mysql 后,更改“mysql”數據庫里的“user”表里的“host”項,從“localhost”改稱“%”

x:\ mysql -u root -pvmware

mysql use mysql;
mysql update user set host =‘%’where user =‘root’;
mysql select host, user from user;

mysql flush privileges;

注:mysql flush privileges; 使修改生效。

2、授權法:

例如,你想 myuser 使用 mypassword 從任何主機連接到 mysql 服務器的話。

mysql GRANT ALL PRIVILEGES ON *.* TO myuser @ % IDENTIFIED BY mypassword WITH GRANT OPTION;

如果你想允許用戶 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;

轉自:http://hi.baidu.com/593313600/blog/item/52c13d3d4640d208baa167cf.html/cmtid/df0698f382f04d5d352acce8

——————————————————————————————————————————————————————————————–

二、問如何開啟 MySQL 的遠程連接

  Q:

  最近學習 PHP, 裝了個 phpwind 論壇和 FTP 流量插件, 需要遠程連接 MySQL 數據庫. 不知道如何打開本地服務器的遠程連接. 現在本地服務器上的論壇和 FTP 流量插件都運行正常, 在另一臺服務器上安裝插件, 連不上數據庫. 到 PW 官方求助沒人回貼. 因此來這尋求幫助.

  服務器信息
  PHP 程式版本: 4.3.11
  MySQL 版本: 4.1.10-nt
  服務器端信息: Microsoft-IIS/5.0
  裝有 phpMyAdmin

  A1:

  遠程連接到 MySQL 需要做的

  1. 進入 MySQL, 創建一個新用戶 xuys:
 

  格式: grant 權限 on 數據庫名. 表名 用戶 @登錄主機 identified by 用戶密碼
  grant select,update,insert,delete on *.* to xuys@192.168.88.234 identified by xuys1234

  查看結果, 執行:
  use mysql;
  select host,user,password from user;

  可以看到在 user 表中已有剛才創建的 xuys 用戶,host 字段表示登錄的主機, 其值可以用 IP, 也可用主機名, 將 host 字段的值改為 % 就表示在任何客戶端機器上能以 xuys 用戶登錄到 MySQL 服務器, 建議在開發時設為 %.

  update user set host = % where user = xuys

  2.

  ./mysqladmin -u root -p pwd reload
  ./mysqladmin -u root -p pwd shutdown

  3.

  ./mysqld_safe –user=root
 

  記住: 對授權表的任何修改都需要重新 reload, 即執行第 3 步.

  如果經過以上 3 個步驟還是無法從客戶端連接, 請執行以下操作, 在 MySQL 數據庫的 db 表中插入一條記錄:

  use mysql;
  insert into db values(192.168.88.234 , % , xuys , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y
  update db set host = % where user = xuys

  重復執行上面的第 2,3 步.

  A2:

  Web 與 MySQL 數據庫分離開來是一個不錯的選擇, 避免因為大量的數據庫查詢占用 CPU 而使 Web 資源不足, 同時可以使 Web 服務器的資源盡最大的提供瀏覽服務, 而數據庫服務器單獨的只處理數據庫事務.

  我對這方面的原理不甚太十分了解, 我的做法其實就是下面要說的, 很簡單. 大家有更好的經驗和技巧不妨提出來分享一下.

  適用范圍: 擁有獨立主機權限
  硬件配置: 兩臺服務器, 至于具體服務器硬件配置就不在本文范圍內了
  其中: A 為 Web 服務器(假設 IP 為: 192.192.192.192),B 為 MySQL 數據服務器(假設 IP 為: 168.168.168.168)

  著手動作:

  1. 在 Web 服務器 A 配置好 Web 服務. 關于這方面文章很多了. 假設 Web 服務器的 IP 為: 192.192.192.192
  2. 在數據庫服務器 B 安裝好 MySQL 服務
  3. 現在新版的 MySQL 一般默認都不允許遠程連接的, 需要建立遠程連接賬號才可以

  以命令行方式使用 root 賬號進入 MySQL
  mysql -u root -p pass

  選擇進入 MySQL 數據庫
  use mysql;

  查看所有存在的賬號和地址
  SELECT `Host`,`User` FROM `user`;

  比如我的就是:

  +————+——-+
  | Host  | User  |
  +————+——-+
  | localhost |  |
  | localhost | pma  |
  | localhost | root  |
  +————+——-+
  3 rows in set (0.00 sec)

  也就是說, 存在三個只允許本地連接的 (localhost) 賬號, 分別為 root,pma, 空用戶.

  現在決定讓 root 具有上面那個 Web 服務器 A 的遠程鏈接的權限, 那么就這樣:
  UPDATE `user` SET `Host` = 192.192.192.192 WHERE `User` = root LIMIT 1;

  這樣 192.192.192.192 這臺 Web 服務器就可以遠程連接到這個數據庫服務器了, 假如你想讓任何遠程機器都可以連接這個數據庫, 就將 192.192.192.192 換為 %, 不過不建議這樣做, 原因你知道啦!

  假如你想新建一個用戶 new_user 具備遠程鏈接的權限的話, 就這樣:
  INSERT INTO `user` (`Host` , `User` , `Password` , `Select_priv` , `Insert_priv` , `Update_priv` , `Delete_priv` , `Create_priv` , `Drop_priv` , `Reload_priv` , `Shutdown_priv` , `Process_priv` , `File_priv` , `Grant_priv` , `References_priv` , `Index_priv` , `Alter_priv` , `Show_db_priv` , `Super_priv` , `Create_tmp_table_priv` , `Lock_tables_priv` , `Execute_priv` , `Repl_slave_priv` , `Repl_client_priv` , `ssl_type` , `ssl_cipher` , `x509_issuer` , `x509_subject` , `max_questions` , `max_updates` , `max_connections`) VALUES (192.192.192.192 , new_user , PASSWORD( new_user_password) , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , Y , , , , , 0 , 0 , 0

  將 new_user 改為你想要的名字就可以了, 密碼是: new_user_password, 當然你可以隨意設置.

  當你的數據庫可以遠程連接后, 你就可以在你的 Web 服務器的論壇 config.inc.php 中設置 $dbhost 變量為你的 MySQL 數據庫服務器 B 的 IP 了:

  $dbhost = 168.168.168.168

  實際操作中, 最好兩臺機器在同一個機房的同一網段 / 防火墻內. 當然如果有可能的話, 將數據庫服務器放置于 Web 服務器網絡內的局域網中就更好了.

  Q3:

  還是這樣簡潔些:

  grant all on yourdb.* to yourUsername@yourHost identified by yourPassword
  flush privileges;  // 使權限立刻生效

以上是“MYSQL 如何配置遠程連接”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計4744字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 海丰县| 平罗县| 云南省| 宜兴市| 海兴县| 南京市| 姜堰市| 佛学| 前郭尔| 板桥市| 商丘市| 三明市| 松潘县| 阜宁县| 沧源| 津南区| 通化县| 潜山县| 枣强县| 保靖县| 噶尔县| 英超| 中牟县| 特克斯县| 娄底市| 西平县| 临高县| 将乐县| 郧西县| 福建省| 山东省| 清远市| 卫辉市| 榆林市| 梁山县| 专栏| 大洼县| 南投县| 鹤岗市| 呈贡县| 海林市|