MySQL新增使用者、刪除使用者與授權

王磊的部落格發表於2017-02-23

1.新建使用者

  1.1 登入MYSQL:

  @>mysql -u root -p

  @>密碼

  1.2 建立使用者:

  mysql> CREATE USER 'test'@'%' IDENTIFIED BY '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,insert 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 資料表名;

 

相關文章