MySQL 安全机制
来源:互联网 发布:西安java薪资待遇如何 编辑:程序博客网 时间:2024/06/07 23:49
摘要:
MySQL 的用户管理和权限管理
1. 权限表
mysq
l数据库中的表说明
mysql.user
- 用户字段: Host, User, Password
- 权限字段: _priv结尾的字段
- 安全字段: ssl x509字段
- 资源控制字段: max_开头的字段
mysql.db
- 用户字段: Host, User, Db
- 权限字段: 剩下的_priv结尾的字段
mysql.tables_priv, mysql.columns_priv, procs_priv
- 表,列,存储过程的授权表
授权级别排列
- mysql.user # 全局授权
- mysql.db # 数据库级别授权
- 其他 # 表级,列级授权
2. 用户管理
2.1 登陆和退出MySQL
mysql -h host -p port -u user -ppassword -e 'SQL语句'
mysql.user
表中授权什么主机的什么用户可以登陆
2.2 创建用户
-- 刷新授权表mysql> flush privileges;
mysql> create user xff@'%' identified by '123456';Query OK, 0 rows affected (0.01 sec)-- 查看权限基本为空mysql> select * from mysql.user where user='xff'\G*************************** 1. row *************************** Host: % User: xff Password: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 Select_priv: N Insert_priv: N Update_priv: N Delete_priv: N Create_priv: N Drop_priv: N Reload_priv: N Shutdown_priv: N Process_priv: N File_priv: N Grant_priv: N References_priv: N Index_priv: N Alter_priv: N Show_db_priv: N Super_priv: N Create_tmp_table_priv: N Lock_tables_priv: N Execute_priv: N Repl_slave_priv: N Repl_client_priv: N Create_view_priv: N Show_view_priv: N Create_routine_priv: N Alter_routine_priv: N Create_user_priv: N Event_priv: N Trigger_priv: NCreate_tablespace_priv: N 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: N1 row in set (0.01 sec)
-- 创建用户并且授权grant select on *.* to user3@'localhost' identified by '123456';
2.3 删除用户
mysql> drop user xff;Query OK, 0 rows affected (0.00 sec)
mysql> delete from user where user='user3';Query OK, 1 row affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)
2.4 修改密码
2.4.1 通过 mysqladmin 修改密码
mysqladmin -u root -ppasswd password 'passwd'
2.4.2 普通用户修改自己的密码
-- 普通用户对于user表没有权限的话,只能修改自己的密码mysql> set password for username@'localhost'=password('mysql123');Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)
2.4.3 通过修改 user 表来修改密码
mysql> update user set password = password('passwd') where user='root';Query OK, 1 row affected (0.01 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)
3. 权限管理
3.1 权限应用的顺序
user(Y|N) >= db >= tables_priv >= columns_priv
相应权限对于的表为:
mysql.user >= mysql.db >= mysql.tables_priv >= mysql.columns_priv
一个用户对一个数据库有权限则可以创建,删除这个数据库
3.2 语法格式
grant 权限列表 on 库名.表名 to ‘用户名’@’客户端主机’ [identified by ‘密码’ with grant option];
- 权限列表
all <==> 所有权限(不包括授权权限,如果有了grant语句最后有grant option则有了授权权限)
select(列1, 列2, …), update
- 数据库.表名
- 客户端主机
- with_option 参数
3.3 查看权限
-- 查看当前用户所有授权show grants\G-- 管理员查看其它用户权限show grants for username\G
3.4 权限的回收
-- 不会删除用户revoke 权限列表 on 数据库名 from 用户名@'客户端主机'
revoke delete on *.* from admin1@'%'; -- 回收删除权限revoke grant option on *.* from admin1@'%'; -- 取消授权权限-- 删除用户delete from mysql.user where user='admin1'flush privileges
阅读全文
0 0
- 十三、MySQL安全机制
- MySQL 安全机制
- 安全机制
- 安全机制
- mysql安全
- Mysql安全
- mysql 安全
- Mysql 安全
- mysql安全
- MySQL安全
- 扩展.net安全机制
- Dot.net安全机制
- WLAN安全机制
- Applet安全机制
- Jetspeed-2安全机制
- 谈IIS安全机制
- air 的安全机制
- 浅析IPSec 安全机制
- 1,神经网络基础
- java字符串自学
- 在centos上搭建redis集群并附测试(真集群非伪集群)
- 【Python】Matplotlib库(一)
- org.hibernate.HibernateException: No CurrentSessionContext configured!
- MySQL 安全机制
- poj 2063 Investment 动态规划 完全背包问题
- 观察者模式之通用代码(拉模型方式实现)
- LinuxC信号及信号处理(2)
- 2, 改善深层神经网络:超参数调试、正则化以及优化
- 2大文件查找命令实例
- 新手调试HTC vive经验分享
- Rootkit-LKM编程劫持系统调用,隐藏后门程序backdoor(ps,ls)
- 达维多定律与iPhone X