MySQL添加用戶、刪除用戶與授權


3、增加用戶:

(注意:和上面不同,下面的因為是MYSQL環境中的命令,所以后面都帶一個分號作為命令結束符) 

  格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by “密碼”

 

   第一種:

 增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然后鍵入以下命令: 

  grant select,insert,update,delete on *.* to test1@“%” Identified by “abc”;

 

  但增加的用戶是十分危險的,你想如某個人知道test1的密碼,那么他就可以在internet上的任何一台電腦上登錄你的mysql數據庫並對你的數據可以為所欲為了,解決辦法見例第二種: 

  第一種:增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "abc";

 

  如果你不想test2有密碼,可以再打一個命令將密碼消掉。 

mysql> grant select,insert,update,delete on book.* to test2@localhost Identified by "";

 

MySql中添加用戶,新建數據庫,用戶授權,刪除用戶,修改密碼(注意每行后邊都跟個;表示一個命令語句結束):

1.新建用戶

  1.1 登錄MYSQL:

  @>mysql -u root -p

  @>密碼

  1.2 創建用戶:

  mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

  這樣就創建了一個名為:test 密碼為:1234 的用戶。

  注意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一台機器上遠程登錄。如果想遠程登錄的話,將"localhost"改為"%",表示在任何一台電腦上都可以登錄。也可以指定某台機器可以遠程登錄。

  1.3 然后登錄一下:

  mysql>exit;

  @>mysql -u test -p

  @>輸入密碼

  mysql>登錄成功

 

2.為用戶授權

  授權格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"; 

  2.1 登錄MYSQL(有ROOT權限),這里以ROOT身份登錄:

  @>mysql -u root -p

  @>密碼

  2.2 首先為用戶創建一個數據庫(testDB):

  mysql>create database testDB;

  2.3 授權test用戶擁有testDB數據庫的所有權限(某個數據庫的所有權限):

   mysql>grant all privileges on testDB.* to test@localhost identified by '1234';

   mysql>flush privileges;//刷新系統權限表

  格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"; 

  2.4 如果想指定部分權限給一用戶,可以這樣來寫:

  mysql>grant select,update on testDB.* to test@localhost identified by '1234';

  mysql>flush privileges; //刷新系統權限表

  2.5 授權test用戶擁有所有數據庫的某些權限:   

  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

     //test用戶對所有數據庫都有select,delete,update,create,drop 權限。

  //@"%" 表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)

 //對localhost授權:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。

 

3. 刪除用戶

   @>mysql -u root -p

  @>密碼

   mysql>Delete FROM user Where User='test' and Host='localhost';

   mysql>flush privileges;

   mysql>drop database testDB; //刪除用戶的數據庫

刪除賬戶及權限:>drop user 用戶名@'%';

        >drop user 用戶名@ localhost; 

 

4. 修改指定用戶密碼

    @>mysql -u root -p

    @>密碼

    mysql>update mysql.user set password=password('新密碼') where User="test" and Host="localhost";

    mysql>flush privileges;

 

5. 列出所有數據庫

  mysql>show database;

 

6. 切換數據庫

  mysql>use '數據庫名';

 

7. 列出所有表

  mysql>show tables;

 

8. 顯示數據表結構

  mysql>describe 表名;

 

9. 刪除數據庫和數據表

  mysql>drop database 數據庫名;

  mysql>drop table 數據表名;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM