mysql指定ip訪問
1、首先檢查mysql所在伺服器的防火牆,如果限制了外網對3306埠的連接,那麼放開限制
Linux伺服器中執行
iptables -L 可以查看當前的防火牆規則
iptables -F 可以清空所有防火牆規則
2、確保mysql的監聽地址是0.0.0.0
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
怎麼知道mysql的監聽地址是多少
Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql
3、添加遠程連接mysql的賬號
此步驟是必須要操作的,mysql本身的用戶只能在本機上連接資料庫,外網連接的話,需要先添加遠程用戶並授權。
在mysql命令行模式下,或者phpmyadmin中執行sql語句添加遠程連接用戶
> grant all on *.* to root@'%' identified by '123456';
> flush privileges;
命令解釋:
*.* 第一個*表示庫,第二個*表示表; *.*對全部資料庫的全部表授權,so.ok 表示只對so這個庫中的ok表授權
root 表示要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的
'%' 表示允許遠程連接的IP地址,%代表允許所有IP連接
只允許某個IP遠程連接,可以寫成'123.123.123.123'
只允許123.123.123.*這個網段遠程連接,可以寫成 '123.123.123.%' '123456' 是設置授權用戶的連接密碼
flush privileges; 代表立即刷新許可權表,使添加的用戶生效
上面三步都設置好了,就可以再次嘗試遠程連接mysql了。
⑵ Mysql怎麼取消特定IP訪問
首先你的mysql和PHP在同一個伺服器嗎,其次你的mysql是遠程伺服器上的嗎,你禁用遠程之後使用會不太方便。你可以嘗試這樣1改表能帳號允許遠程登陸能localhost候要localhost台電腦登入mysql更改"mysql"資料庫"user"表"host"項"localhost"改稱"%"1.mysql-uroot-pvmwaremysql>usemysql;mysql>updateusersethost='%'whereuser='root';mysql>selecthost,userfromuser;2.授權例想myuser使用mypassword任何主機連接mysql伺服器GRANTALLPRIVILEGESON*.*TO'myuser'@'%'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;想允許用戶myuserip192.168.1.3主機連接mysql伺服器並使用mypassword作密碼GRANTALLPRIVILEGESON*.*TO'myuser'@'192.168.1.3'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;這個是允許遠程訪問,你反過來試試看。
⑶ mysqlroot用戶指定連接IP
一、允許root用戶在任何地方進行遠程登錄,並具有所有庫任何操作許可權,
具體操作如下:
在本機先使用root用戶登錄mysql: mysql -u root -p"youpassword" 進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重載授權表:
FLUSH PRIVILEGES;
退出mysql資料庫:
exit
二、允許root用戶在一個特定的IP進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下: 在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword" 進行授權操作: GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION; 重載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
三、允許root用戶在一個特定的IP進行遠程登錄,並具有所有庫特定操作許可權,具體操作如下: 在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword" 進行授權操作: GRANT select,insert,update,delete
ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword"; 重載授權表: FLUSH PRIVILEGES; 退出mysql資料庫: exit
四、刪除用戶授權,需要使用REVOKE命令,具體命令格式為: REVOKE privileges ON 資料庫[.表名] FROM
user-name; 具體實例,先在本機登錄mysql: mysql -u root -p"youpassword" 進行授權操作: GRANT
select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152"
IDENTIFIED BY "youpassword"; 再進行刪除授權操作: REVOKE all on TEST-DB from
test-user; ****註:該操作只是清除了用戶對於TEST-DB的相關授權許可權,但是這個「test-user」這個用戶還是存在。
最後從用戶表內清除用戶: DELETE FROM user WHERE user="test-user"; 重載授權表: FLUSH
PRIVILEGES; 退出mysql資料庫: exit
五、MYSQL許可權詳細分類: 全局管理許可權: FILE: 在MySQL伺服器上讀寫文件。 PROCESS:
顯示或殺死屬於其它用戶的服務線程。 RELOAD: 重載訪問控製表,刷新日誌等。 SHUTDOWN: 關閉MySQL服務。
資料庫/數據表/數據列許可權: ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。 CREATE: 建立新的資料庫或數據表。
DELETE: 刪除表的記錄。 DROP: 刪除數據表或資料庫。 INDEX: 建立或刪除索引。 INSERT: 增加表的記錄。 SELECT:
顯示/搜索表的記錄。 UPDATE: 修改表中已存在的記錄。 特別的許可權: ALL: 允許做任何事(和root一樣)。 USAGE:
只允許登錄--其它什麼也不允許做。
⑷ 外網如何訪問區域網內網的mysql資料庫
Mysql資料庫伺服器部署在內網環境,區域網內可以訪問mysql資料庫,內網也可以上外網。利用nat123如何實現外網訪問到內網mysql資料庫?下面是我跟大家分享的是外網如何訪問區域網內網的mysql資料庫,歡迎大家來閱讀學習。
外網如何訪問區域網內網的mysql資料庫
外網訪問內網的mysql資料庫的方法
首先要確保內網應用正常。明確內網mysql資料庫訪問地址,並確保mysql資料庫服務正常。如本地mysql資料庫訪問地址是localhost:3306。

⑸ 怎麼給mysql加訪問ip限制
授權用戶root使用密碼jb51從指定ip為218.12.50.60的主機連接到mysql伺服器:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'218.12.50.60' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;
⑹ 怎麼設置mysql給指定的幾個ip(段)訪問,其他的不能連解決+50分
用grant給mysql新建賬號,在新賬號時限止ip段 例如
grant select on dbname.* to dbuser@'IP' identified by 'pass'
⑺ 如何設置某個網段的IP訪問MYSQL伺服器
可以通過對某個用戶授權來限制這個連接帳號的訪問,比如:
grant select on db.table1 to user1@'1.2.3.%' identified by 'password';
這樣user1隻能在1.2.3.% 這個范圍內來訪問你的mysql server .