程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫如何開啟遠程連接(多備份),mysql數據庫

MySQL數據庫如何開啟遠程連接(多備份),mysql數據庫

編輯:MySQL綜合教程

MySQL數據庫如何開啟遠程連接(多備份),mysql數據庫


開啟 MySQL 的遠程登陸帳號需要注意下面3點:

1、確定服務器上的防火牆沒有阻止 3306 端口。
MySQL 默認的端口是 3306 ,需要確定防火牆沒有阻止 3306 端口,否則遠程是無法通過 3306 端口連接到 MySQL 的。

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

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

2.確定安全狗等沒有攔截我們的備份服務器IP

如果你的服務器上有安裝安全狗等安全類軟件,請將我們的備份服務器IP 115.28.36.60以及其他的備份服務器IP添加到白名單中。

3、增加允許遠程連接 MySQL 用戶並授權。

1)登陸服務器端,進入命令行。
Windows 主機中是點擊開始菜單,運行,輸入“cmd”,進入命令行。

2)以數據庫管理員帳號進入mysql控制台。在命令行執行 mysql -u root -p 密碼,輸入完成後即可進入mysql控制台。
例如: MySQL -uroot -p123456

123456 為 root 用戶的密碼。

3)創建遠程登陸用戶並授權,在控制台繼續執行下面語句。
grant select,lock tables on demodb.* to demouser@'115.28.36.60′ identified by 'your password';

解釋:demodb=數據庫名;demouser=數據庫用戶名;your password=數據庫密碼

例如:

grant select,lock tables on discuz.* to ted@'115.28.36.60′ identified by '123456′;

4)執行了上面的語句後,再執行下面的語句,方可立即生效。
flush privileges;

小編解釋:

grant select,lock tables on discuz.* to ted@'115.28.36.60′ identified by '123456′;

上面的語句表示將 discuz 數據庫的select,locked權限授權給 ted 這個用戶,允許 ted 用戶在 115.28.36.60 這個 IP 進行遠程登陸,並設置 ted 用戶的密碼為 123456 。

discuz.* 表示上面的權限是針對於哪個表的,discuz 指的是數據庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部數據庫的全部表授權為“*.*”,對於某一數據庫的全部表授權為“數據庫名.*”,對於某一數據庫的某一表授 權為“數據庫名.表名”。

ted 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。

115.28.36.60 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為“%”即可。

注意:

115.28.36.60是我們的一個備份服務器IP,主要用來測試我們的服務器是否能夠連接上你的數據庫。

這裡很多朋友會有疑問,這樣會不會不安全啊,其實不用擔心,因為首先,你只是授權允許我們的服務器連接你的數據庫,其次,我們的服務器也只具有select和lock權限,也就是查詢和鎖表的權限,所以完全不能更改你的數據庫。


不放心的話可以在mysql控制台執行 select host, user from user; 檢查一下用戶表裡的內容.因為開啟mysql遠程登錄的用戶都是存儲在mysql數據庫中的user表中。

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