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
MySQL的用户和权限介绍的更多相关文章
- 禁止、允许MySQL root用户远程访问权限
关闭MySQL root用户远程访问权限: use mysql; update user set host = "localhost" where user = "roo ...
- MySQL高级学习笔记(二):mysql配置文件、mysql的用户与权限管理、mysql的一些杂项配置
文章目录 mysql配置文件 二进制日志log-bin 错误日志log-error 数据文件 两系统 Myisam存放方式 innodb存放方式 如何配置 mysql的用户与权限管理 MySQL的用户 ...
- mysql 创建用户, 分配权限, 删除用户
通过create user 命令来创建用户, 有两种方式:(只介绍通过 create user 命令, 直接往user表中插入数据的方式,这里就不说了) 创建用户的同时, 指定用户可登录的主机和密码 ...
- Mysql新增用户,权限管理
MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant selec ...
- mysql数据库用户和权限管理记录
一.MySQL用户的基本说明: 1.1 用户的基本结构MySQL的用户:用户名@主机 ■用户名:16个字符以内■主机:可以是主机名.IP地址.网络地址等主机名:www.111cn.net,localh ...
- Linux下给mysql创建用户分配权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- 改变mysql数据库用户的权限
mysql> grant all on *.* to test@'%';Query OK, 0 rows affected (0.00 sec) mysql> flush privileg ...
- mysql 给用户赋值权限
解决办法 grant all privileges on *.* to joe@localhost identified by '1'; flush privileges; 拿 joe 1 登陆 附: ...
- mysql的用户访问权限规划
看了mysql的关于用户权限和安全的管理,感觉看起来还是不太好理解,首先mysql的连接方式是需要核对三个要素:user.passwd. host.而且这个user和passwd并不是o上面的user ...
随机推荐
- 一些IOS开发中的小技巧
1.打包后提交报错误 错误信息:ERROR ITMS-90035: "Invalid Signature. Code object is not signed at all. The bin ...
- 关于"Command /usr/bin/codesign failed with exit code 1"的解决办法
今天当码农的时候,xcode爆出"Command /usr/bin/codesign failed with exit code 1"这样一个错 当时以为是授权文件设置不正确的问题 ...
- (最小路径覆盖) News 消息传递 (hust OJ 2604)
http://begin.lydsy.com/JudgeOnline/problem.php?id=2604 Description 总部最近打算向下面的N个工作人员发出了一条秘密消息.因为它是机 ...
- [Xpand] Error 1 Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
原因是用的vs2015 默认用了c#6 ,但是在没安装.net 4.6 环境下编译失败. 解决办法很简单,修改 6 为 5 做降级就可以了. 1.nuget install DotNetCompile ...
- android简单登陆和注册功能实现+SQLite数据库学习
最近初学android,做了实验室老师给的基本任务,就是简单的登陆和注册,并能通过SQLite实现登陆,SQlLite是嵌入在安卓设备中的 好了下面是主要代码: 数据库的建立: 这里我只是建立了一个用 ...
- Gbase配置
喵了个咪的.到目前为止,自己已经用过SQL SERVER,My SQL,Oracle,SQLite,加上南大通用GBASE 五种数据库了.虽然每种都用的不深 注:GBASE提供了C的API,查看手册即 ...
- Inno Setup 下载安装
Inno Setup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件. 目前 ...
- linux Makefile编写的整理
最近将Makefile的编写进行了整理和提炼了一下,大致分为五个步骤: 编译总共为五个部分 1.设置编译环境 set compile environment 2.获取要编译的源文件,以及把源文件转换为 ...
- JavaScript调试工具
最常用的最有效的有三个: 1. FireFox浏览器的Firebug,我用得不多 2. IE 8浏览器的Microsoft Script Editor.当运行网页的脚本出错时,会报错,如下所示: 单击 ...
- wex5&.net开发
一.环境开发 1.baas.net:菜单“窗口”->“首选项” 确定后左侧生成bass.net目录,设置iis网站目录(因为.net网站必须在iis中部署) 2.sqlserver:根据项目可选 ...