mysql授予用戶新建數據庫的權限

很久不用mysql了,今天拾起來,新建用戶,用Navicat鏈接以後,發現沒有新建數據庫的權限。找了很久才找到方法,那就是新建用戶以後受權的的時候授予用戶在全部數據庫上的全部權限,(固然有可能有別的方法,但願知道的前輩們指導我)語句以下:mysql

grant all privileges on *.* to demo@localhost identified by '123456';sql

下面附送親測有效的新建用戶,新建數據庫,用戶受權,刪除用戶,修改密碼的打包套餐:數據庫

1.新建用戶
  1.1 登陸MYSQL:
  C:\mysql\mysql-5.6.41-winx64\bin>mysql -u root -p
    Enter password: **********
  1.2 建立用戶:ide

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

  這樣就建立了一個名爲:demo 密碼爲:1234 的用戶。blog

  注意:此處的"localhost",是指該用戶只能在本地登陸,不能在另一臺機器上遠程登陸。若是想遠程登陸的話,將"localhost"改成"%",表示在任何一臺電腦上均可以登陸。也能夠指定某臺機器能夠遠程登陸。get

  1.3 而後登陸一下:it

  mysql>exit;table

  C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
    Enter password: **********class

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

  2.1 登陸MYSQL(有ROOT權限),這裏以ROOT身份登陸:

  C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
    Enter password: **********

  2.2 首先爲用戶建立一個數據庫(testDB):

  mysql>create database demoDB;

  2.3 受權test用戶擁有testDB數據庫的全部權限(某個數據庫的全部權限):

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

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

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

  2.4 若是想指定部分權限給一用戶,能夠這樣來寫:

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

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

  2.5 受權test用戶擁有全部數據庫的某些權限:   

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

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

  //@"%" 表示對全部非本地主機受權,不包括localhost。(localhost地址設爲127.0.0.1,若是設爲真實的本地地址,不知道是否能夠,沒有驗證。)

 //對localhost受權:加上一句grant all privileges on demoDB.* to demo@localhost identified by '1234';便可。 

3. 刪除用戶
      C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
    Enter password: **********
   mysql>Delete FROM user Where User='demo' and Host='localhost';
   mysql>flush privileges;
   mysql>drop database demoDB; //刪除用戶的數據庫
刪除帳戶及權限:>drop user 用戶名@'%';
        >drop user 用戶名@ localhost; 

4. 修改指定用戶密碼
    C:\mysql\mysql-5.6.41-winx64\bin>mysql -u demo -p
      Enter password: **********
    mysql>update mysql.user set password=password('新密碼') where User="demo" and Host="localhost";
    mysql>flush privileges;
 
5. 列出全部數據庫
  mysql>show database; 

6. 切換數據庫
  mysql>use '數據庫名';

7. 列出全部表   mysql>show tables;   8. 顯示數據表結構   mysql>describe 表名;

相關文章
相關標籤/搜索