分享更有价值
被信任是一种快乐

MySQL如何实现用户管理与权限管理

文章页正文上

这篇文章主要为大家展示了“MySQL如何实现用户管理与权限管理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何实现用户管理与权限管理”这篇文章吧。
— 操作环境
mysql> show variables like ‘version’;
+—————+——–+
| Variable_name | Value |
+—————+——–+
| version | 5.6.25 |
+—————+——–+
1 row in set (0.04 sec)

背景知识补充:
user 表中 host 列的值的意义
% 匹配所有主机
localhost localhost 不会被解析成 IP 地址,直接通过 UNIXsocket 连接
127.0.0.1 会通过 TCP/IP
协议连接,并且只能在本机访问;
::1 ::1 就是兼容支持 ipv6 的,表示同 ipv4 的
127.0.0.1

一: 用户管理

1. 查看用户
mysql> select host,user,password from mysql.user where user like
‘andy’;

2. 创建数据库用户
–指定密码创建新用户,%表示任意,即 andy02 可以从任意主机访问数据库
mysql> create user ‘andy02’@’%’ identified by ‘oracle’;
Query OK, 0 rows affected (0.03 sec)

3. 用户改密码
mysql> set password for andy02=password(‘mysql’);
mysql> flush privileges;

4.删除用户
–查看当前系统中已存在的用户
mysql> select user,host,Password from mysql.user;
–使用drop
user命令删除用户
mysql> drop user ‘andy02’@’%’; 注意:如果不指定 @’%’ ,默认缺省,则删除的是 ‘%’ 。
mysql> select user,host,Password from mysql.user where user like
‘andy%’;
Empty set (0.00 sec)

5. 重命名帐户
–rename user命令
mysql> rename user ‘andy02’@’%’ to ‘andy01’@’%’;
Query OK, 0 rows affected (0.00 sec)
–检查
mysql> select user,host,Password from mysql.user where user like ‘andy%’;

二:权限管理

注意:mysql的权限相对于oracle而言,相对简单,而且也没有涉及到角色方面的定义与配置

–grant命令语法

1. 权限种类
(这里直接查看,root账户所有的权限)

mysql> select * from mysql.user where user=’root’ and host=’%’G;
*************************** 1. row ***************************
Host: %
User: root
Password:
*2447D497B9A6A15F2776055CB2D1E9F86758182F
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
mysql_native_password
authentication_string:
password_expired: N
1 row in set (0.00 sec)

2. 权限存放

MySQL 服务器通过 MySQL 权限表来控制用户对数据库的访问,MySQL 权限表存放在 mysql 数据库里,由 mysql_install_db 脚本初
始化。这些 MySQL 权限表分别 user,db,table_priv,columns_priv 和 host。

u免费主机域名ser 权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。
db 权限表:记录各个帐号在各个数据库上的操作权限。
table_priv 权限表:记录数据表级的操作权限。
columns_priv 权限表:记录数据列级的操作权限。
host 权限表:配合 db 权限表对给定主机上数据库级操作权限作更细致的控制。这个权限表不受 GRANT 和 REVOKE 语句的影响。

3. 权限范围
priv_level:
*
| *.*
| db_name.*
| db_name.tbl_name
| tbl_name
| db_name.routine_name

4. 授权
mysql>grant all privileges on *.* to ‘andy01’@’%’; (–WITH
GRANT OPTION 是否传递,默认为不传递)
mysql>flush privileges;

5. 查看当前用户的权限
mysql> show grants;

6. 查看指定用户的权限
mysql> show grants
for ‘andy01’@’%’;
— revoke 收回权限以上是“MySQL如何实现用户管理与权限管理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关免费主机域名注云技术行业资讯频道!

相关推荐: Oracle RAC环境下定位并杀掉最终阻塞的会话方法是什么

本篇内容介绍了“Oracle RAC环境下定位并杀掉最终阻塞的会话方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实验环境:Oracle RAC 11.…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册