(九)MySQL用户和权限管理
(1)用户管理
1)登录和退出mysql
例:
mysql -h192.168.111.150 -P3306 -uroot -predhat mysql -e 'select user,host,authentication_string from mysql.user'
-h 指定主机名 [默认为localhost]
-P MySQL端口 [默认为3306]
-u 指定用户名 [默认为root]
-p 指定登录密码 [默认为空]
此处mysql为指定登录的数据库
-e 接SQL语句
2)创建用户
方法一:create user语句创建
create user user1@'localhost' identified by 'password';
方法二:grant 语句创建
grant all on . to 'user1'@'localhost' identified by 'password';
grant all on blog.* to 'user2'@'%' identified by 'password';
3)删除用户
方法一:drop user
drop user 'user1'@'localhost';
方法二:delete语句删除
delete from mysql.user where user='user1' and host='localhost';
flush privileges;
4)修改用户密码
root 用户修改自己的密码
方法一:#mysqladmin -uroot -p'123' password 'new_password' //123为旧密码
方法二:update mysql.user set authentication_string=password('new_password') where user='root' and host='localhost'; flush privileges
方法三 :set password=password('new_password');
root修改其他用户密码
方法一:set password for user3@'localhost'=password('new_password');
方法二:update mysql.user set authentication_string=password('new_password') where user='root' and host='localhost'; flush privileges;
普通用户修改自己密码
方法:set password=password('new_password');
(2)权限管理
1)权限应用级别
user(全局) ---> db(数据库级别)--->tables_priv(表级别)---->columns_priv(字段级别)
所有用户名和密码信息都是user表中,全局用户的权限在user表中;库级别的用户权限信息在db表中
2)授权语法格式以及授权
grant 权限列表 on 库名.表名 to '用户名'@'客户端主机' [identified by '密码' with option参数];
权限列表: 、
all 所有权限
select,update
数据库.表名:
*.* 所有库下的所有表
web.* web库下的所有表
web.stu_info web库下的stu_info表
客户端主机:
% 所有主机
192.168.2.% 192.168.2.0网段的所有主机
192.168.2.18 指定主机
localhost 指定主机
with_option参数:
grant option 授权选项,其他用户可以授权
max_queries_per_hour :定义每小时允许执行的查询数
max_updates_per_hour :定义每小时允许执行的更新数
max_connections_per_hour :定义每小时可以建立的连接数
max_user_connections :定义单个用户同时可以建立的连接数
示例
grant all on . to admin1@'%' identified by 'new_password' with grant option;
grant all on web.* to admin2@'%' identified by 'new_password';
3)查看权限
show grants\G \用户查看自己的权限
show grants for 'admin1'@'%'\G \管理员查看其他用户的权限
4)revoke回收权限
语法:revoke 权限列表 on 库.表 from 用户名@'客户端主机';
示例
revoke insert,delete on . from admin1@'%'; \回收部分权限
revoke all privileges on . from admin2@'%'; \回收所有权限
revoke all privileges,grant option on . from admin2@'%'; \回收所有权限
5)删除用户
5.6之前需要先把权限去掉在删除用户:revoke all privilege drop user
5.7之后可以直接删除用户:drop user
(九)MySQL用户和权限管理的更多相关文章
- Mysql 用户,权限管理的几点理解。
前两天项目数据库要移植到mysql,为此临时抓了几天很久没用的mysql. 公司的数据库比较简单,从oracle迁移到mysql很简单,但是,中间的权限管理让我感觉既简单又复杂..简单是因为网上关于m ...
- mysql 用户及权限管理 小结
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...
- MySQL Study之--MySQL用户及权限管理
MySQL Study之--MySQL用户及权限管理 MySQLserver通过MySQL权限表来控制用户对数据库的訪问.MySQL权限表存放在mysql数据库里.由mysql_install ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- mysql用户和权限管理
用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...
- Mysql 用户和权限管理
用户和权限管理: 语法 grant 权限 on 数据库.数据表 to '用户' @ '主机名'; 例:给 xiaogang 分配所有的权限 grant all on *.* to 'xiaogang' ...
- mysql用户与权限管理笔记
今天想使用一下李刚那本书上的hibernate的Demo,试出了点问题,过程中就发现mysql的用户管理和权限管理上也有点东西要注意,所以顺便就写一下mysql用户管理和权限管理的笔记. 先说一说my ...
- MariaDB/MySQL用户和权限管理
本文目录: 1.权限验证 1.1 权限表 1.2 图解认证和权限分配的两个阶段 1.3 权限生效时机 2.用户管理 2.1 创建用户 2.2 create user和alter user 2.3 记录 ...
- MySQL 用户与权限管理
MySQL权限系统的主要功能是证实连接到一台给定主机的用户,而且赋予该用户在数据库上的相关DML,DQL权限.MySQL存取控制包括2个阶段,一是server检查是否同意你连接:二是假定你能连接,se ...
随机推荐
- grpc deadlines
最近在将应用的rpc更换为grpc,使用过程中,发现报“rpc error:code=DeadlineExceeded desc = context deadline exceeded”,这是啥?原来 ...
- 并发(三) CountDownLatch
CountDownLatch 和CyclicBarrier的区别是,CyclicBarrier可以循环使用,CountDownLatch不可以:CyclicBarrier可以有一个Runnable参数 ...
- 瀑布模型&螺旋模型
软件开发模型:1.瀑布模型1)软件概念阶段 用户需求2)需求分析 软件需求3)架构设计 架构文档4)详细设计 模型设计5)编码阶段 代码文档6)测试阶段瀑布模型的特点是在每个阶段的工作都清晰详尽,容易 ...
- 高中信息技术《算法与程序设计VB(选修)》知识要点
原博主: http://blog.sina.com.cn/buyanshibai [转载] (一)算法 1.定义 相关题解: 1算法:就是解决问题的方法和步骤.算法是程序设计的“灵魂”,算法+数据结构 ...
- AGC018C Coins (set)
题目大意: 给出n个人,每个人手里都有xi个金牌,yi个银牌,ci个铜牌. 你需要选出X个人,拿走他们手里的金牌,选出Y个人,拿走他们手里的银牌,选出Z个人,拿走他们手里的铜牌 X+Y+Z = n.并 ...
- SPOJ Distinct Substrings(后缀数组求不同子串个数,好题)
DISUBSTR - Distinct Substrings no tags Given a string, we need to find the total number of its dist ...
- Kd-tree题表
bzoj1941: [Sdoi2010]Hide and Seekbzoj2626: JZPFARbzoj4520: [Cqoi2016]K远点对bzoj2989: 数列bzoj2850: 巧克力王国 ...
- [BZOJ3829][Poi2014]FarmCraft 贪心
这个题应该是很容易想到贪心的,只要可是怎么贪才是科学的呢?我们分析一下题干,对于每个边只能一进一出因此,对于树上的一棵子树,我们只要一进子树就必须遍历完,因此我们只能进行一遍 dfs() 然后我们发现 ...
- js金额转大写数字
//金额转大写数字 const intToChinese = money => { //汉字的数字 let cnNums = new Array('零', '壹', '贰', '叁', '肆', ...
- HDU 2844 二进制优化的多重背包
Coins Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...