mysql创建新用户并分配权限
2016-08-24 09:53
399 查看
在mysql中用户权限是一个很重要的参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考。
1、Mysql下创建新的用户并分配权限
语法:mysql> create user 用户名 identified by '密码';
给用户分配权限
语法:mysql> grant 权限 on 数据库.数据表 to '用户' @ '主机名';
例:
mysql> create user ywliyq identified by '123456';
新创建的用户,默认情况下是没有任何权限的。
给ywliyq分配所有的权限
mysql> grant all on *.* to 'ywliyq'@'%';
增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户ywliyq密码为123456,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限
mysql> grant select,insert,update,delete on *.* to ywliyq@localhost Identified by "123456";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
mysql> grant select,insert,update,delete on *.* to ywliyq@'%' Identified by "123456";
2、如何更精准的控制用户的权限呢?
1.grant 权限 on 数据库.数据表 to '用户' @ '主机名';
例:让ywliyq有查询 tmp 数据库 tmp1 表的权限;
grant select on temp.temp1 to 'ywliyq'@'%'; //这个时候ywliyq就具有查询temp下的temp1的权限了。
例如:
1)给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
2)给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
3)给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
4)给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
3、如何收回权限,一般指有root用户才具有该权限
语法:
1.revoke 权限 on 数据库.数据表 from '用户'@'主机名';
例:收回 ywliyq的所有权限
revoke all on *.* from 'ywliyq'@'%';
1、Mysql下创建新的用户并分配权限
语法:mysql> create user 用户名 identified by '密码';
给用户分配权限
语法:mysql> grant 权限 on 数据库.数据表 to '用户' @ '主机名';
例:
mysql> create user ywliyq identified by '123456';
新创建的用户,默认情况下是没有任何权限的。
给ywliyq分配所有的权限
mysql> grant all on *.* to 'ywliyq'@'%';
增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户ywliyq密码为123456,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限
mysql> grant select,insert,update,delete on *.* to ywliyq@localhost Identified by "123456";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
mysql> grant select,insert,update,delete on *.* to ywliyq@'%' Identified by "123456";
2、如何更精准的控制用户的权限呢?
1.grant 权限 on 数据库.数据表 to '用户' @ '主机名';
例:让ywliyq有查询 tmp 数据库 tmp1 表的权限;
grant select on temp.temp1 to 'ywliyq'@'%'; //这个时候ywliyq就具有查询temp下的temp1的权限了。
例如:
1)给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;
2)给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;
3)给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;
4)给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to joe@localhost identified by ‘123′;
3、如何收回权限,一般指有root用户才具有该权限
语法:
1.revoke 权限 on 数据库.数据表 from '用户'@'主机名';
例:收回 ywliyq的所有权限
revoke all on *.* from 'ywliyq'@'%';
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜