程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql 5.X創建用戶並授權方法

MySql 5.X創建用戶並授權方法

編輯:MySQL綜合教程

為什麼我要講是mysql 5呢,因為以前的版本我們可以直接使用INSERT向mysql表中插入mysql用戶了,後來後mysql5之後完善了就不可以這麼操作了,下面我來介紹MySql 5.X創建用戶並授權方法有需要了解的朋友可參考。

在mysql的user表中增加連接用戶帳號:

這裡不要直接使用INSERT語句添加user記錄,使用INSERT可能出現:

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value錯誤。不過早期的MYSQL版本筆者倒沒出現這個錯誤,因為天緣一直都是直接修改user表或直接使用INSERT語句完成,後來升級MYSQL到5.1的時候,發現可能會出現這個錯誤。

具體方法

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>登錄成功


建議使用GRANT語句進行授權,語句如下:

 代碼如下 復制代碼

GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

上句:

“username”替換為將要授權的用戶名,比如clientusr;

“password”替換為clientusr設置的密碼;

4、可訪問數據表授權

創建好帳戶之後,就開始給上面的common user進行數據表授權,步驟3中增加的連接用戶默認權限都是“N”的,必須在db表中為該帳戶授權,允許其訪問專用數據庫,當然超級用戶就不說了。

使用下面語句:

 代碼如下 復制代碼

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON tablename.*  TO 'username'@'localhost' IDENTIFIED BY 'password';

本語句中的權限根據實際需要確定:

"tablename"替換為授權訪問的數據表table名

"username"是步驟2授權用戶名

"password"是步驟2授權用戶的設置密碼

這樣就為該用戶授予了對某數據表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP權限。

5、生效授權,創建完畢

一句話即可:FLUSH PRIVILEGES;


3.刪除用戶。

 代碼如下 復制代碼

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved