MYSQL添加遠端使用者或允許遠端存取三種方法,mysql遠端存取

來源:互聯網
上載者:User

MYSQL添加遠端使用者或允許遠端存取三種方法,mysql遠端存取
添加遠端使用者admin密碼為password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO admin@\"%\" IDENTIFIED BY \'password\' WITH GRANT OPTION

mysql教程添加遠端使用者或允許遠端存取三種方法

用root使用者登陸,然後:

grant all privileges on *.* to 建立的使用者名稱 @"%" identified by "密碼";

flush privileges;   * 重新整理剛才的內容*

格式:grant 許可權 on 資料庫教程名.表名 to 使用者@登入主機 identified by "使用者密碼";

            @ 後面是訪問mysql的用戶端ip地址(或是 主機名稱) % 代表任意的用戶端,如果填寫 localhost 為

本地訪問(那此使用者就不能遠端存取該mysql資料庫了)。

同時也可以為現有的使用者佈建是否具有遠端存取許可權。如下:

use mysql;

update db set host = '%' where user = '使用者名稱'; (如果寫成 host=localhost 那此使用者就不具有遠端存取許可權)

flush privileges;

grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;

 

 

方法二

1.  使用grant語句添加:首先在資料庫本機上用root使用者

登入mysql(我是用遠端控制linux伺服器,相當於在伺服器本機登入mysql了),然後輸入:

mysql>grant all privileges on *.* to admin@localhost identified by 'something' with grant option;

添加一個使用者admin並授權通過本地機(localhost)訪問,密碼"something"。

 mysql>grant all privileges on *.* to admin@"%" identified by 'something' with grant option;

添加一個使用者admin並授權可從任何其它主機發起的訪問(萬用字元%)。使用這一條語句即可。

2.使用insert語句:

mysql>insert into user values('%','admin',password('something'), 'y','y','y','y','y','y',

'y','y','y','y','y','y','y','y')

   使用者資訊可在mysql資料庫中的users表中查看,這裡不在介紹了就。數清y的個數哦。

   好了,使用admin帳號串連試試看,我是屢試屢成功哦,呵呵!

方法三

添加遠端使用者admin密碼為password 
grant all privileges on *.* to admin@localhost identified by 'password' with grant option 
grant all privileges on *.* to admin@"%" identified by 'password' with grant option


由於項目開發的要求資料庫的設計不得不用遠程模式。但是資料庫的遠程設定並沒那麼簡單,該項目的資料庫是mysql5.0。剛開始以為只要裝了資料庫伺服器就可以進行遠程連結了,但是mysql的設定是為了使用者的安全,系統預設的設定是不允許遠端使用者串連,只能本地的使用者串連。只要我們設定下系統的管理使用者的host這一項的值就可以給遠端使用者訪問了。


解決MySQL不允許從遠端存取的方法有什?

解決方案:

1。 改表法。

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"

mysql -u root -pvmwaremysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

2. 授權法。

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

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

FLUSH PRIVILEGES;

如果你想允許使用者myuser從ip為192.168.1.6的主機串連到mysql伺服器,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允許使用者myuser從ip為192.168.1.6的主機串連到mysql伺服器的dk資料庫,並使用mypassword作為密碼

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

另外一種方法,不過我沒有親自試過的,在csdn.net上找的,可以看一下.

在安裝mysql的機器上運行:

1、d:\mysql\bin\>mysql -h localhost -u root //這樣應該可以進入MySQL伺服器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //賦予任何主機訪問資料的許可權

3、mysql>FLUSH PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL伺服器

這樣就可以在其它任何的主機上以root身份登入啦!
參考資料:上海快網...餘下全文>>
 
怎讓mysql資料庫允許被遠端連線訪問?就是從其他的電腦串連我的電腦上的mysql

第一:更改 “mysql” 資料庫裡的 “user” 表裡的 “host” 項,從”localhost”改稱'%'。
或者新加條記錄,“host” 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外連接埠:3306,並允許例外。

錯誤提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解決方案:
1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
1.mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

2. 授權法。例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許使用者myuser從ip為192.168.1.3的主機串連到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

3.在window內建的防火牆裡的例外添加3306連接埠

總結:
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以許可權使用者root登入
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行串連訪問的主機/IP名稱)
第四句:修改host值(以萬用字元%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:重新整理MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。...餘下全文>>
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.