mysql 用户与权限

2021年11月21日 阅读数:7
这篇文章主要向大家介绍mysql 用户与权限,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。
查看全部用户

mysql 用户与权限_新建用户

建立用户 无权限
CREATE USER `user`@`host` [IDENTIFIED 'password'];

例子mysql

mysql> create user `ua`@`localhost` identified by '123456';
Query OK, 0 rows affected (0.00 sec)

这样建立了一个用户sql

不过没有权限bash

给用户受权
例子 给已经存在的用户受权
grant 权限列表 on 库名.表名 to 用户名@主机名
GRANT SELECT ON myschool.view_student TO `student`@`localhost`;

刚建立的用户,权限是没有的ide

它都看不见其它的库ui

mysql 用户与权限_ide_02

给用户受权code

mysql> grant select on dbhui.student to `ua`@`localhost`;
Query OK, 0 rows affected (0.00 sec)

mysql>

受权成功后blog

立刻就能够看见效果了it

mysql 用户与权限_主机名_03
mysql 用户与权限_mysql_04
不过只有查看权限table

没有其它权限class

mysql> delete from student where id = 12;
ERROR 1142 (42000): DELETE command denied to user 'ua'@'localhost' for table 'student'
mysql>

删除是不能够的

除非再给他权限

注意

例子中的权限操做,用的是root账号的

如今给ua账号再添加删除权限

mysql 用户与权限_mysql_05

再试试删除

删除就成功了

mysql 用户与权限_新建用户_06

查看用户权限
mysql> show grants for `ua`@`localhost`;
+-----------------------------------------------------------------------------------------------------------+
| Grants for ua@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'ua'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT, DELETE ON `dbhui`.`student` TO 'ua'@'localhost'                                             |
+-----------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql>
新建用户时受权
例子,新建用户同时赋与权限

grant 权限列表 on 库名.表名 to `用户名`@`主机名` identified by '密码';
GRANT INSERT,SELECT ON myschool.student TO `xiaoming`@`localhost` IDENTIFIED BY '123456';

例子

mysql> grant insert,select on dbhui.student to `ub`@`localhost` identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql>