mysql用户管理,权限管理
mysql权限 相关操作:
授予的权限分为四组:
列权限:和表中的一个具体列相关,例如:使用update 语句更新test表中name 列的值
表权限:和一个具体的表的所有数据相关,例如:使用 select 查询test
有中的所有数据
数据库权限:和一个具体的数据库的所有表相关,例如:在已有的test数据库中创建新表的权限
用户权限:和mysql所知道的所有数据库相关,例如:删除已有的数据库或创建一个新的数据库
增加用户
create user '用户名'@'主机名' identified by '密码'
as:
create user 'lin3615'@'localhost' identified by '123456'
此时创建的用户是没有操作别的数据库和表的权限的,只能查看表名而已 create user 'lin3615'@'www.lin3615.net'
表示创建的用户从
www.lin3615.net主机登陆到mysql,没有设置密码,则表示不用密码就可以连接 create user 'lin3615'@'%'与create user 'lin3615'
一样,默认是可以从每个主机上登陆 删除用户
drop user '用户名'@'主机名'
as:
drop user 'lin3615'@'localhost' 修改用户名,但是密码不变,无法修改用户口名
rename user '新用户名'@'主机名' to '旧用户名'@'主机名'
as:
rename user 'ok123'@'localhost' to 'lin3615'@'localhost' 修改用户密码:
set password for '用户名'@'主机名' = password('新密码')
as:
set password for 'lin3615'@'localhost'=password('123456') 授予表和列权限:
select,insert,delete,update:select,insert,delete,update 表的权限
references:给予用户创建一个外键来参照特定的表的权力
create,alter,index,drop:指定用户创建指定的表的,修改表,定义索引,删除表的权限
all/all privileges:所有的权限 形式:
grant 权限
on 库/表
to 用户名
[with option]
如果授予一个不存在的用户,则会自动创建一个用户
as:授予lin3615查询表的权限:
grant select on test to lin3615 as:给新用户查询权限
grant select
on test.test
to 'lin3615'@'localhost' identified by '123456' 授予数据库权限
select,insert,update,delete
references:给予用户创建指向特定的数据库的表外键的权限
create:给予在特定的数据库创建表的权限
alert:给予特定数据库中修改表的权限
drop:给予删除数据库中表和视图的权限
index:给予在特定的数据库中表的索引增删修改权限
create temporary tables:给予特定数据库上创建临时表的权限
create view:给予特定数据库中创建视图的权限
show view:给予查看特定数据库中视图的权限
create routine:给予创建特定数据库中存储过程和存储函数的权限
execute routine:给予使用特定数据库中的存储过程和函数的权限
alter routine:给予特定数据库中修改存储过程和函数的权限
lock tables:给予特定数据库中表的锁权限
all/all privileges:所有权限,在5.5中测试时,发现不能这样作,也许是安全问题吧,
所以为了安全起见,还是分别上权限名称 as:给予 lin3615查询test数据库中所有表的权限
grant select
to test.*
on lin3615 as:给予lin3615对数据库test中创建数据表,更新数据表,删除数据表的权限
grant create,alter,drop
on test.*
to lin3615 授予用户权限
create user:给予用户创建和删除数据库的权限
show database:给予用户使用show database查看数据库的权限
as:授予lin3615对所有数据库中所有表的 create,alter,drop权限
grant create,alter,drop
on *.*
to lin3615 授予lin3615 创建新用户的权限
grant create user
on *.*
to lin3615 权限的传递:with grant option
把自己的权限也传递给用户
as:
grant select
on test.*
to lin3615
with grant option
上面的语句,其实是把lin3615所有操作表的权限都授权给他的用户了,而并不是只授予查询的功能 回收权限
revoke 权限 [option]
on 数据库.表名
from 用户
as:回收lin3615对test.test中的更新权限
revoke update
on test.test
from lin3615
其中的 option选项,表示同时删除由这个用户权限传递给别的用户的相应权限
如果没有 option选项,则表示那些用户还拥有那些权限
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' ...
- MariaDB/MySQL用户和权限管理
本文目录: 1.权限验证 1.1 权限表 1.2 图解认证和权限分配的两个阶段 1.3 权限生效时机 2.用户管理 2.1 创建用户 2.2 create user和alter user 2.3 记录 ...
- mysql用户与权限管理笔记
今天想使用一下李刚那本书上的hibernate的Demo,试出了点问题,过程中就发现mysql的用户管理和权限管理上也有点东西要注意,所以顺便就写一下mysql用户管理和权限管理的笔记. 先说一说my ...
- (九)MySQL用户和权限管理
(1)用户管理 1)登录和退出mysql 例: mysql -h192.168.111.150 -P3306 -uroot -predhat mysql -e 'select user,host,au ...
- MySQL 用户与权限管理
MySQL权限系统的主要功能是证实连接到一台给定主机的用户,而且赋予该用户在数据库上的相关DML,DQL权限.MySQL存取控制包括2个阶段,一是server检查是否同意你连接:二是假定你能连接,se ...
随机推荐
- PHP中获取中英文混合字符串长度[主要是指个数,而不是字符串长度](转)
今晚在写框架的表单验证类时,需要判断某个字符串长度是否在指定区间内,很自然地,想到了PHP中的strlen函数. $str = 'Hello world!'; echo strlen($str); ...
- offsetTop和scrollTop的差别
近期想写个组件,结果被这两个属性搞的有点晕,查了下文档和资料,对这两个属性总结例如以下: 一直以来对offsetLeft,offsetTop,scrollLeft,scrollTop这几个方法非常迷糊 ...
- starling localToGlobal
o.localToGlobal(new Point()); 返回o在舞台的全局坐标... o.parent.localToGlobal(new Point(o.x,o.y)) //返回指定坐标 ...
- 9个使用前必须再三小心的Linux命令
Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除.在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信 ...
- C#_delegate - 用委托实现事件,Display和Log类都使用Clock对象
//public event SecondChangeHandler OnSecondChange; 若将委托加上event,则视作是事件,不是委托,外围就不能直接对OnSecondChange传值 ...
- 【转】ubuntu修改IP地址和网关的方法
一.使用命令设置Ubuntu IP地址 1.修改配置文件blacklist.conf禁用IPV6 sudo vi /etc/modprobe.d/blacklist.conf 表示用vi编辑器(也可以 ...
- 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!
相信小伙伴们在开发中或多或少都可能遇到过这样的问题:打开一个应用后,为了快速响应,先将数据库中的数据呈现给用户,然后再去网络上请求数据,请求成功之后将数据缓存至数据库,同时更新UI,但是我们经常会这样 ...
- Android(java)学习笔记131:Intent启动别的Activity
1.案例 (1)首先是main.xml和other.xml文件如下: main.xml文件: <?xml version="1.0" encoding="utf-8 ...
- mysql数据库常用语句3
一:查询指定数据库中所有的表名 数据库名:test select table_name from information_schema.tables where table_schema='test' ...
- linux版本的区分
linux每个版本有好几种方式,刚学习的时候还不明白,了解了一下终于知道了 如下,以CentOS为例 1.CentOS系统镜像有两个,安装系统只用到第一个镜像即CentOS-6.x-i386-bin- ...