linux 常用命令(三)——(centos7)MySql 5.7添加用户、删除用户与授权

时间:2022-12-14 16:06:10

一、创建用户:以root用户登录到数据库进行用户创建

  命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

  例如:

CREATE USER 'test_admin'@'localhost' IDENTIFIED BY 'admin@123_S';
CREATE USER 'test_admin2'@'%' IDENTIFIED BY '';

  note:

    username——将要创建的用户名;

    host——指定该用户在哪个主机上可以登录,"localhost"指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;

    password——该用户的登录密码,密码可以为空,若为空则该用户可以不需要密码登录服务器。

二、授权:以root用户登录到数据库进行授权

  命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

  note:

    privileges——用户的操作权限,如SELECT等。如果授予所有权限则使用ALL。

    databasename——数据库名称。tablename——表名。如果要给该用户授予对所有数据库和表的相应操作权限则可用*表示,例如*.*

  例如:

GRANT SELECT ON test_db.* TO 'test_admin2'@'%';

flush privileges;

note:必须执行flush privileges;

三、撤销用户权限

  命令:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

  例如:

REVOKE SELECT ON test_db.* FROM 'test_min'@'%';

四、删除账户及权限

  命令:

drop user 'username'@'host';

五、查看用户的授权

  命令:

SHOW GRANTS FOR 'username'@'host'

  例如:

mysql> SHOW GRANTS FOR 'test_admin'@'%' ;
+----------------------------------------------------------------+
| Grants for test_admin@% |
+----------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test_admin'@'%' |
| GRANT ALL PRIVILEGES ON `test_manage_db`.* TO 'test_admin'@'%' |
+----------------------------------------------------------------+
2 rows in set (0.00 sec) mysql>