mysql 設置遠程連接以及新建用戶

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' WI 
  TH GRANT OPTION; 
  如果你想允許用戶myuser從ip爲192.168.1.6的主機連接到mysql服務器,並使用mypassword作爲密碼 
  GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 
  'mypassword' WITH GRANT OPTION; 
  我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES 
  使修改生效,就可以了 
  另外一種方法: 
  在安裝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身份登錄啦。

======================================================

新建用戶

注:本操作是在WIN命令提示符下,phpMyAdmin同樣適用。
    用戶:phplamp  用戶數據庫:phplampDB

1.新建用戶。

//登錄MYSQL
@>mysql -u root -p
@>密碼
//創建用戶
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系統權限表
mysql>flush privileges;
這樣就創建了一個名爲:phplamp  密碼爲:1234  的用戶。

然後登錄一下。

mysql>exit;
@>mysql -u phplamp -p
@>輸入密碼
mysql>登錄成功

2.爲用戶授權。

//登錄MYSQL(有ROOT權限)。我裏我以ROOT身份登錄.
@>mysql -u root -p
@>密碼
//首先爲用戶創建一個數據庫(phplampDB)
mysql>create database phplampDB;
//授權phplamp用戶擁有phplamp數據庫的所有權限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系統權限表
mysql>flush privileges;
mysql>其它操作

/*
如果想指定部分權限給一用戶,可以這樣來寫:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系統權限表。
mysql>flush privileges;
*/

3.刪除用戶。
@>mysql -u root -p
@>密碼
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//刪除用戶的數據庫
mysql>drop database phplampDB;

4.修改指定用戶密碼。
@>mysql -u root -p
@>密碼
mysql>update mysql.user set password=password('新密碼') where User="phplamp" and Host="localhost";
mysql>flush privileges;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章