有三種方法:
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、原平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為原平等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
方法一(不推薦)、本地登入mysql,更改?"mysql"?數(shù)據(jù)庫里的?"user"?表里的?"host"?項(xiàng),將"localhost"改為"%"
#mysql?-u?root?-proot
mysqluse?mysql;
mysqlupdate?user?set?host?=?'%'?where?user?=?'root';
mysqlselect?host,?user?from?user;
方法二、直接授權(quán)(推薦)
從任何主機(jī)上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務(wù)器:(首先登陸Linux服務(wù)器,填寫下面代碼即可)
[root@localhost?software]#?mysql?-u?root?-proot?
mysqlGRANT?ALL?PRIVILEGES?ON?*.*?TO?'root'@'%'?IDENTIFIED?BY?'youpassword'?WITH?GRANT?OPTION;
mysqlFLUSH?PRIVILEGES;
操作完后切記執(zhí)行以下命令刷新權(quán)限
FLUSH?PRIVILEGES;
方法三:終極方法
注釋bind-address?=?127.0.0.1
找到mysql.cnf
把bind-address?=?127.0.0.1?前面加上?#
即??#bind-address?=?127.0.0.1
第一:更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項(xiàng),從”localhost”改稱'%'。 \x0d\x0a或者新加條記錄,“host” 項(xiàng)為要訪問的ip地址,并授權(quán)。重啟mysql服務(wù)。 \x0d\x0a第二:在系統(tǒng)防火墻添加例外端口:3306,并允許例外。 \x0d\x0a\x0d\x0a錯(cuò)誤提示: \x0d\x0aERROR 1130: Host '192.168.1.3is not allowed to connect to this MySQL server \x0d\x0a的解決方法: \x0d\x0a1。改表法??赡苁悄愕膸ぬ柌辉试S從遠(yuǎn)程登陸,只能在localhost。這個(gè)時(shí)候只要在localhost的那臺電腦,登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項(xiàng),從"localhost"改稱"%" \x0d\x0a1.mysql -u root -pvmware\x0d\x0amysqluse mysql;\x0d\x0amysqlupdate user set host = '%where user = 'root';\x0d\x0amysqlselect host, user from user; \x0d\x0a\x0d\x0a2. 授權(quán)法。例如,你想myuser使用mypassword從任何主機(jī)連接到mysql服務(wù)器的話。 \x0d\x0a\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%IDENTIFIED BY 'mypasswordWITH GRANT OPTION; \x0d\x0a如果你想允許用戶myuser從ip為192.168.1.3的主機(jī)連接到mysql服務(wù)器,并使用mypassword作為密碼 \x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3IDENTIFIED BY 'mypasswordWITH GRANT OPTION; \x0d\x0a\x0d\x0a3.在window自帶的防火墻里的例外添加3306端口 \x0d\x0a\x0d\x0a總結(jié): \x0d\x0amysql -u root -p \x0d\x0amysqluse mysql; \x0d\x0amysqlselect 'hostfrom user where user='root'; \x0d\x0amysqlupdate user set host = '%where user ='root'; \x0d\x0amysqlflush privileges; \x0d\x0amysqlselect 'host from user where user='root'; \x0d\x0a第一句是以權(quán)限用戶root登錄 \x0d\x0a第二句:選擇mysql庫 \x0d\x0a第三句:查看mysql庫中的user表的host值(即可進(jìn)行連接訪問的主機(jī)/IP名稱) \x0d\x0a第四句:修改host值(以通配符%的內(nèi)容增加主機(jī)/IP地址),當(dāng)然也可以直接增加IP地址 \x0d\x0a第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表 \x0d\x0a第六句:再重新查看user表時(shí),有修改。。 \x0d\x0a重起mysql服務(wù)即可完成。
mysql(mariadb)通過遠(yuǎn)程訪問,需要在數(shù)據(jù)庫中配置用來遠(yuǎn)程訪問的賬號、密碼、IP地址
通過命令:
其中:
remoteuser是用來遠(yuǎn)程訪問的用戶名,你可以自己定義,也建議自己定義而不要用默認(rèn)的root。
123.123.123.%是你客戶端的IP地址段,也可以直接給定具體的IP地址,看你的需求。我這里是家庭寬帶,有可能每次上網(wǎng)IP不同,但基本上都在一個(gè)段內(nèi),所以我這里采用IP地址段。
password替換成你的密碼。
flush privileges;用來刷新數(shù)據(jù)庫。
這樣,在遠(yuǎn)程的客戶端,在訪問工具里配置好遠(yuǎn)程的信息,就可以訪問遠(yuǎn)程數(shù)據(jù)庫服務(wù)器了。
比如用Navicat:
賬號:remoteuser
密碼:password
ip:服務(wù)器的IP
端口:3306
以上是在數(shù)據(jù)庫層面打開遠(yuǎn)程訪問,如果在服務(wù)器層面有對端口的限制,也需要打開相應(yīng)的設(shè)置。
原文鏈接:
Mysql默認(rèn)是不可以通過遠(yuǎn)程機(jī)器訪問的,通過下面的配置可以開啟遠(yuǎn)程訪問
在MySQL Server端:
執(zhí)行mysql 命令進(jìn)入mysql 命令模式,
Sql代碼
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個(gè)意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個(gè)MySQL Server
#必須加類似這樣的帳戶,才可以遠(yuǎn)程登陸。 root帳戶是無法遠(yuǎn)程登陸的,只可以本地登陸
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個(gè)意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個(gè)MySQL Server
#必須加類似這樣的帳戶,才可以遠(yuǎn)程登陸。 root帳戶是無法遠(yuǎn)程登陸的,只可以本地登陸
那么如何遠(yuǎn)程訪問呢?
在另一臺MySQL 客戶端(裝有mysql程序包的pc ,windows或者是linux均可)
執(zhí)行命令:
Sql代碼
mysql -h172.21.5.29 -uadmin -padmin 即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設(shè)置的遠(yuǎn)程訪問帳戶
mysql -h172.21.5.29 -uadmin -padmin 即可了
//172.21.5.29就是MySQL Server的IP地址,admin admin就是剛才在 172.21.5.29上設(shè)置的遠(yuǎn)程訪問帳戶
引用
mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#這句話的意思 ,允許任何IP地址(上面的 % 就是這個(gè)意思)的電腦 用admin帳戶 和密碼(admin)來訪問這個(gè)MySQL Server
#必須加類似這樣的帳戶,才可以遠(yuǎn)程登陸。 root帳戶是無法遠(yuǎn)程登陸的,只可以本地登陸
我發(fā)現(xiàn)一個(gè)問題, 如果上面的命令你執(zhí)行完畢, 你在 本地就是localhost , 執(zhí)行 :
Sql代碼
mysql -hlocalhost -uadmin -padmin
mysql -hlocalhost -uadmin -padmin
結(jié)果是失敗的。
原來 上面的 % 竟然不包括localhost
所以你還必須加上這樣的 命令
mysqlGRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;