Navicat工具中設(shè)置MySQL允許外部訪問(wèn)
在Navicat工具中,設(shè)置MySQL允許外部訪問(wèn)。
一、在navicat上使用本地連接,先連接上。
二、修改user表訪問(wèn)權(quán)限。
select * from user; # 查詢mysql庫(kù)中的user表是否有user為root的,host為%的數(shù)據(jù)。 # 如果沒(méi)有,則進(jìn)行創(chuàng)建。 create user 'root'@'%' identified by '密碼' ; # 密碼使用自己設(shè)置的數(shù)據(jù)庫(kù)密碼 # 創(chuàng)建好后,或者有的話,則再執(zhí)行授權(quán)語(yǔ)句 grant all privileges on *.* to 'root'@'%' with grant option; # flush privileges;
然后外部就可以通過(guò)賬戶密碼訪問(wèn)了。
說(shuō)明:
1、※ grant語(yǔ)法: grant 權(quán)限名(所有的權(quán)限用all) on 庫(kù)名(*全部).表名(*全部) to ‘要授權(quán)的用戶名’@’%’(%表示所有的IP,可以只設(shè)一個(gè)IP) identified by “密碼”;
2、其它說(shuō)明:
FLUSH PRIVILEGES; 命令本質(zhì)上的作用是:
將當(dāng)前user和privilige表中的用戶信息/權(quán)限設(shè)置從mysql庫(kù)(MySQL數(shù)據(jù)庫(kù)的內(nèi)置庫(kù))中提取到內(nèi)存里。
MySQL用戶數(shù)據(jù)和權(quán)限有修改后,希望在”不重啟MySQL服務(wù)”的情況下直接生效,那么就需要執(zhí)行這個(gè)命令。
通常是在修改ROOT帳號(hào)的設(shè)置后,怕重啟后無(wú)法再登錄進(jìn)來(lái),那么直接flush之后就可以看權(quán)限設(shè)置是否生效。
而不必冒太大風(fēng)險(xiǎn)。
三、可能存在的其它問(wèn)題:
執(zhí)行完之后,再用Navicat連接mysql,報(bào)錯(cuò)如下:
Client does not support authentication protocol requested by server;
報(bào)錯(cuò)原因:
mysql8.0 引入了新特性 caching_sha2_password;這種密碼加密方式Navicat 12以下客戶端不支持;
Navicat 12以下客戶端支持的是mysql_native_password 這種加密方式;
解決方案:
1,用如下語(yǔ)句查看MySQL當(dāng)前加密方式
select host,user,plugin from user;
查詢結(jié)果
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys | mysql_native_password |
+-----------+------------------+-----------------------+
看host為’%'的那一行,root加密方式為caching_sha2_password。
2,使用命令將他修改成mysql_native_password加密模式:
update user set plugin='mysql_native_password' where user='root';
再次連接的時(shí)候,就成功了。
四、如果還連接不上
通過(guò)以上操作后,依然無(wú)法連接上,問(wèn)題可能出在了防火墻上。
1,MySQL部署在實(shí)體服務(wù)器上解決方案如下:
a.開(kāi)放MySQL的端口號(hào),默認(rèn)端口號(hào)是3306。b.直接關(guān)閉防火墻(慎重操作,不建議。當(dāng)然測(cè)試玩的話就隨意了。。。。)
2,MySQL部署在云計(jì)算機(jī)上的方案如下:a.以阿里云為例,找到實(shí)例,設(shè)置安全組,開(kāi)放端口號(hào)即可。
附:mysql 允許其他ip訪問(wèn)
1.改表法
可能是你的帳號(hào)不允許從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺(tái)電腦,登入mysql后,更改 “mysql” 數(shù)據(jù)庫(kù)里的 “user” 表里的 “host” 項(xiàng),從"localhost"改稱(chēng)"%"
//執(zhí)行以下sql語(yǔ)句 USE mysql; UPDATE USER SET HOST = '%' WHERE USER = 'root'; SELECT HOST, USER FROM USER; FLUSH PRIVILEGES;


測(cè)試連接成功

總結(jié)
到此這篇關(guān)于Navicat工具中設(shè)置MySQL允許外部訪問(wèn)的文章就介紹到這了,更多相關(guān)MySQL允許外部訪問(wèn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 如何設(shè)置mysql允許外網(wǎng)訪問(wèn)
- 允許遠(yuǎn)程用戶訪問(wèn)mysql服務(wù)sql語(yǔ)句
- 怎樣設(shè)置才能允許外網(wǎng)訪問(wèn)MySQL
- Mysql允許外網(wǎng)訪問(wèn)設(shè)置步驟
- 修改mysql允許主機(jī)訪問(wèn)的權(quán)限方法
- 如何設(shè)置mysql允許外部連接訪問(wèn)
- 允許遠(yuǎn)程訪問(wèn)MySQL的實(shí)現(xiàn)方式
- 允許任意IP訪問(wèn)mysql數(shù)據(jù)庫(kù)的方法詳解
- Mysql允許他人訪問(wèn)本機(jī)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
相關(guān)文章
mysql 8.0.18 安裝配置方法圖文教程(linux)
這篇文章主要介紹了linux下mysql 8.0.18 安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
MYSQL ERROR 1045 (28000): Access denied for user (using pass
Mysql中添加用戶之后可能出現(xiàn)登錄時(shí)提示ERROR 1045 (28000): Access denied for user的錯(cuò)誤.2009-07-07
MAC系統(tǒng)中添加MYSQL開(kāi)機(jī)啟動(dòng)的方法
MySQL 8.0.18 穩(wěn)定版發(fā)布! Hash Join如期而至
mysql的expire_logs_days參數(shù)引發(fā)的問(wèn)題及解決

