MySQL用户管理:添加用户、授权、删除用户

已有管理员权限的用户登录mysql,我这里使用root用户,最高权限。

1、查看用户

select User,Host from mysql.user;

2、新增用户

create user xqk identified by '123456';

或直接使用

grant select,insert on *.* to xqk@localhost identified by '123456';

上面第一条命令创建了用户xqk,密码是123456,默认mysql.user表Host值为“%”,允许除本机之外的任何一台机器远程登录

第二条命令添加用户的同时赋予增删改查权限,并且只允许本地登录。

在user表里可以查看到新增用户的信息:

MariaDB [(none)]> select User,Host from mysql.user;
+--------+-----------+
| User   | Host      |
+--------+-----------+
| xqk    | %         |
| root   | localhost |
+--------+-----------+
7 rows in set (0.00 sec)

3、用户授权

查看新创建用户权限(无任何权限)

MariaDB [(none)]> show grants for 'xqk';
+----------------------------------------------------------------------------------------------------+
| Grants for xqk@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'xqk'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
+----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

查看数据库

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)

 

授权方式:

MySQL权限如下表

权限名字权限说明Context
CREATE允许创建新的数据库和表Databases, tables, or indexes
DROP允许删除现有数据库、表和视图Databases, tables, or views
GRANT OPTION能够把自己获得的权限转赠给其他用户一个副本Databases, tables, or stored routines
LOCK TABLES允许使用显式锁表的语句锁表,前提是你必须有SELECT权限Databases
REFERENCESMySQL 5.7.6之前引用特权是未使用的。5.7.6,创建一个外键约束需要引用父表的特权。Databases or tables
EVENTThe EVENT privilege is required to create, alter, drop, or see events for the Event Scheduler.Databases
ALTER允许修改权限或重命名表Tables
DELETE允许从表中或数据库中删除行Tables
INDEX允许创建或删除索引Tables
INSERT允许在表和数据库中插入行Tables or columns
SELECT允许在表和数据库这查询行Tables or columns
UPDATE允许在表和数据空中更新行Tables or columns
CREATE TEMPORARY TABLES允许创建和使用临时表Tables
TRIGGER允许使用触发器相关,前提是你必须拥有这个表的CREATE、DROP、EXECUTE或者Display权限Tables
CREATE VIEW允许使用CREATE VIEW语句Views
SHOW VIEW允许使用SHOW VIEW语句Views
ALTER ROUTINEALTER ROUTINE允许你修改存储过程(过程或函数)前提是你需要在存储过程上拥有ALTER或DROP权限Stored routines
CREATE ROUTINEALTER ROUTINE允许你创建存储过程(过程或函数)前提是你需要在存储过程上拥有ALTER或DROP权限Stored routines
EXECUTE允许你执行存储过程(过程或函数)Stored routines
FILE文件读写权限允许你文件在服务器主机上使用LOAD DATA INFILE and SELECT 语句以及LOAD DATA()函数File access on server host
CREATE TABLESPACE允许创建表空间,前提是你需要CREATE、ALTER OR DROP tablespaces 以及属于log file 组Server administration
CREATE USER允许使用ALTER USER, CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES 语句Server administration
PROCESS允许使用SHOW PROCESSLIST or mysqladmin processlist看到线程属于其他账户,你总能看到自己的线程。PROCESS权限还允许使用SHOW ENGINE语句Server administration
PROXY Server administration
RELOAD允许使用FLUSH语句,以及mysqladmin命令中对于FLUSH的操作例如:flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, and reload.Server administration
REPLICATION CLIENT是否有权限去请求复制相关主数据库产生的事件的,允许显示的使用SHOW MASTER STATUS, SHOW SLAVE STATUS, and SHOW BINARY LOGS语句Server administration
REPLICATION SLAVE是否能够创建连接以复制的方式,连接至数据库服务器端Server administration
SHOW DATABASES允许使用SHOW DATABASES来查看所有数据库列表,如果没有这个权限则只能查看规定数据库Server administration
SHUTDOWN允许使用SHUTDOWN语句,mysqladmin shutdown命令,以及mysql_shutdown()API函数Server administration
SUPER超级特权可以用于终止其他会话或改变服务器运行。属于特别高级别的一类权限Server administration
USAGE无权限,当您想要创建一个没有权限的用户时,可以指定USAGEServer administration
ALL PRIVILEGES所有权限: ALL PRIVILEGES,可以简写为ALLServer administration

grant 权限名字(多个权限用","号隔开) on 数据库名.表名 to '用户名'@'允许登录的ip地址' [IDENTIFIED BY '密码'];

数据库名.表名表示授予权限的具体库或表,常用的有以下几种选项:

  • .:授予该数据库服务器所有数据库的权限。
  • dbName.*:授予dbName数据库所有表的权限。
  • dbName.dbTable:授予数据库dbName中dbTable表的权限。

用户名'@'允许登录的ip地址',表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

  • localhost:只允许该用户在本地登录,不能远程登录。
  • %:允许在除本机之外的任何一台机器远程登录。
  • 192.168.1.3:具体的IP表示只允许该用户从特定IP登录。

eg:给xqk用户授予对test库添加和查询权限,并且允许远程连接数据库,命令如下:

MariaDB [(none)]> grant insert,select on test.* to 'xqk'@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

查看xqk用户所获得的权限

MariaDB [(none)]> show grants for 'xqk'@'%';
+----------------------------------------------------------------------------------------------------+
| Grants for xqk@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'xqk'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT, INSERT ON `test`.* TO 'xqk'@'%'                                                      |
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

4、删除用户

MariaDB [(none)]> delete from mysql.user where User='username' and Host='localhost';
Query OK, 1 row affected (0.00 sec)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值