Mysql創建數據庫並授權等常用命令

環境準備

Linux發行版本:Centos7
Mysql數據庫版本:mysql-5.7.24

常用命令

  1. 以root用戶登錄數據庫
[admin@localhost bin]$ mysql -uroot -p
Enter password: 
  1. 創建用戶

命令格式:

CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
username:將要創建的用戶名
host:指定該用戶在哪個主機上可以登錄,“localhost"指該用戶只能在本地登錄,不能在另外一臺機器上遠程登錄,如果想遠程登錄,將"localhost"改爲”%",表示在任何一臺電腦上都可以登錄;也可以指定某臺機器可以遠程登錄;
password:該用戶的登錄密碼,密碼可以爲空,若爲空則該用戶可以不需要密碼登錄服務器。

例如:

CREATE USER 'test1'@'%' IDENTIFIED BY 'test123';
CREATE USER 'test2'@'localhost' IDENTIFIED BY '';
  1. 創建數據庫

CREATE DATABASE testdb CHARACTER SET utf8 COLLATE utf8_general_ci;

  1. 用戶授權

授權格式:

GRANT 權限 ON 數據庫.表名 TO 用戶名@登錄主機 IDENTIFIED BY ‘密碼’;

授權test1用戶擁有所有數據庫的所有權限:

GRANT ALL PRIVILEGES ON *.* to ‘test1’@’%’ IDENTIFIED BY ‘test123’;
FLUSH PRIVILEGES; #刷新系統權限表
如果你想限制用戶只能從10.10.10.10的主機連接到testdb數據庫,以上的授權語句可做如下修改:GRANT ALL PRIVILEGES ON . to ‘test1’@‘10.10.10.10’ IDENTIFIED BY ‘test123’;

授權test1用戶擁有testdb數據庫的所有權限:

GRANT ALL PRIVILEGES ON testdb.* to ‘test1’@’%’ IDENTIFIED BY ‘test123’;
FLUSH PRIVILEGES; #刷新系統權限表

指定部分權限給用戶:

GRANT SELECT,UPDATE ON testdb.* to ‘test1’@’%’ IDENTIFIED BY ‘test123’;
FLUSH PRIVILEGES; #刷新系統權限表

  1. 查看權限列表

命令格式:

SHOW GRANTS FOR ‘用戶名’@‘%‘主機名’;

  1. 撤銷用戶權限

REVOKE privilege ON 數據庫名.表名FROM ‘用戶名’@‘主機名’;

例如撤銷test1用戶的更新權限:

REVOKE update ON *.* FROM ‘test1’@’%’;

  1. 刪除賬戶及權限

命令格式:

DROP USER ‘username’@‘host’;

  1. 刪除數據庫

命令格式:

DROP DATABASE databasename;

  1. 修改密碼

mysql> use mysql; # 先切換到mysql庫,在修改密碼
mysql>update mysql.user set password=password(‘新密碼’) where User=‘test1’ and Host=’%’;
mysql>flush privileges;

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