MySQL的用户和权限介绍
一、关于MySQL权限的几点常识:
1、MySQL的权限系统主要用来验证用户的操作权限。
2、在MySQL内部,权限信息存放在MySQL数据库的granttable里。当mysql启动后,granttable里的信息会写入内存。
3、MySQL 使用user name 加 host name 来作为标识符。
通过这种标识符,可以用来区分不同host上的相同的user name。
4、MySQL 权限控制有2种策略:
1)根据密码是否正确来控制客户端的连接。
2)假设可以正常connect,server还可以检查每个satement是否有权限去执行。如果只有某张表的select 权限,就不能进行drop 操作。
5、如果用户的权限改变,当前已连接的会话用户不会受影响,下次登录才会生效。
二、关于MySQL的几个有关权限表的含义:
user:用户账号、全局权限
db:库级别权限
host:废弃
tables_priv:表级别权限
colums_priv:列级别权限
procs_priv:存储过程和存储函数相关的权限
proxies_priv:代理用户权限
三、MySQL用户账号的创建规则
用户名@主机
用户名:16字符以内
主机:
主机名:www.test.com,mysql
IP:192.168.2.1
网络地址:192.168.0.0/255.255.0.0
通配符:%,192.168.%.%,%.test.com
四、MySQL的用户权限级别
服务管理类:super
库:CREATE
表:DELETE、ALTER
列:INSERT、SELECT、UPDATE
更多级别可参考MySQL官方文档
五、与权限相关的几个命令
GRANT 权限,... ON [对象类型] db.{table|routine} TO 'username'@'host' [INDENTIFIED BY 'password'];
REVOKE 权限,... ON [对象类型] db.{table|routine} FROM 'username'@'host';
SHOW GRANTS FOR 'username'@'host';
CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];
DROP USER 'username'@'host';
RENAME USER old_name TO new_name;
六、权限的操作命令举例
查看当前数据库的所有用户:
select user,host,password from mysql.user;
给用户赋予super权限(super和ALL PRIVILEGES都可以):
GRANT super ON *.* TO 'mysql'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost';
删除用户的super权限(super和ALL PRIVILEGES都可以):
REVOKE super ON *.* FROM 'mysql'@'localhost';
REVOKE ALL PRIVILEGES ON *.* FROM 'mysql'@'localhost';
查看赋予用户的权限
SHOW GRANTS FOR 'mysql'@'localhost';
七、MySQL的问题处理
1、MySQL登录密码忘记时的恢复操作
启动mysql_safe时传递两个参数:
--skip-grant-tables 跳过授权表
--skip-networking 为了安全,防止网络登录
登录方式一:
修改/etc/init.d/mysql
登录方式二:
直接在my.cnf配置
[mysqld]
skip-grant-tables
skip-networking
而后修改密码:
通过更新授权表方式直接修改其密码,而后移除此两个选项重启服务器
UPDATE user SET PASSWORD=PASSWORD('123456') WHERE User='root'
2、客户端连接MySQL数据库速度慢的问题
直接在my.cnf配置,关闭DNS的反向解析参数
[mysqld]
skip-name-resolve
转载于:https://blog.51cto.com/shengjian/1581854
MySQL的用户和权限介绍相关推荐
- 3、MySQL 高级-用户与权限管理
3.MySQL 高级-用户与权限管理 3.1.用户管理 3.1.1.创建用户 # 表示创建名称为 zhang3 的用户,密码设为 123123: create user 'username' iden ...
- mysql 给用户取消权限_MySQL创建用户并授权及撤销用户权限
这篇文章主要介绍了MySQL创建用户并授权及撤销用户权限.设置与更改用户密码.删除用户等等,需要的朋友可以参考下 MySQL中创建用户与授权的实现方法. 运行环境:widnows xp profess ...
- 改变mysql数据库用户的权限
mysql> grant all on *.* to test@'%';Query OK, 0 rows affected (0.00 sec) mysql> flush privileg ...
- MYSQL为用户指定权限有哪些
在分配用户的权限的时候,无非查询,修改,删出,还有些mysql其他的操作命令,下面总结一下所有的命令. Select_priv 查询命令 Insert_priv 插入命令 Update_priv 修改 ...
- mysql添加用户及权限
一.增加权限 mysql> grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令'; mysql>flush ...
- MySql的用户管理权限
登陆连接 1.127.0.0.1/其他远程数据库 mysql -u admin -p -h 127.0.0.1 -P 3306 -D t_user 注:-u 代表用户,-p代表密码 ,-h代表host ...
- MySQL创建用户添加权限
新建用户 格式: create user "username"@"host" identified by "password"; 示例: c ...
- Mysql添加用户设置权限
1.使用MySQL root用户登录MySQL 2.使用命令创建一个用户 命令:CREATE USER 'username'@'localhost' IDENTIFIED BY 'password' ...
- mysql 给用户赋予权限
1.进入数据库 C:\Users\Administrator> mysql -u root -p Enter password: ****** 2.查看数据库用户表 mysql> SELE ...
最新文章
- 同一个IP不同端口号使用session失效
- RabbitMQ消息队列(二):”Hello, World“
- 检测xcode工程中配置信息是否正确
- vue知识总结第一篇vue组件的定义以及父子组件的传值。
- 《犯罪心理学》读书笔记(part11)--犯罪心理的性别差异(中)
- 笔记本电脑排名2015_2015-2026全球及中国AC-DC电源适配器市场发展现状调研及未来前景行业展望...
- 【渝粤题库】广东开放大学 外贸会计1 形成性考核
- php获取网页js中的json,从php获取json数据使用js读取显示到网页笔记
- 诺基亚收购了阿朗:那与 TCL 的“阿尔卡特”品牌授权协议到期后咱办?
- penpyxl 格式_【上海校区】数据集.npy格式与png格式互换
- 小网站静态资源CDN加速实践记录
- 辨析:工作路径与脚本路径
- 程序员自曝接私活:10个月时间接了30多个单子,纯收入40万
- 一对一视频直播APP开发要点
- TVP周年庆:“用科技影响世界”,一起出发!
- 前端学习笔记 - px,em,rem,%,vw,vh,vm
- numpy.corrcoef 计算相关系数
- 全面解析jQuery $(document).ready()和JavaScript onload事件
- CentOS 之 libffi-devel 安装
- 给老鼠大脑注入光纤能控制老鼠酗酒了?!|技术前沿洞察