MySQL入门

创建用户并赋予权限

1.grant命令

命令格式: grant <privilege> on <object> to <user> [identified by user-password] [with grant option];

<privilege>取值:

说明
alter改变表和索引
create创建数据库和表
delete从数据库中删除数据
drop删除数据库和表
index管理索引
insert在数据库中添加数据
lock tables允许锁定表
select提取数据
update修改数据
all以上所有

授予特权的对象被标识为: databasename.tablename.在Linux传统中,* 代表的是通配符,因此 *.*代表每个数据库中的每个对象,而foo.*代表数据库foo中的每个表.

如果指定的用户已经存在,他的特权会被编辑以反映你所做的修改.如果用户不存在,他就会以特定的特权被创建.用户可以被指定为来自某个特定的主机.你应该在同一个命令中同时指定用户和主机.

SQL语法中,%代表通配符,与shell中的*作用完全一样.如果想授予用户rick从wiley.com域中任何主机访问的权限,可以把rick描述为: rick@'%.wiley.com'. 任何时候使用%通配符都必须把它放在引号中,以与其它文本分开.授予rick从本地网络中任何机器连接的特权可以把rick描述为: rick@'192.168.0.0/255.255.255.0'
mysql> GRANT ALL ON *.* TO rick@'192.268.0.0/255.255.255.0' IDENTIFIED BY 'secretpassword';

只要可能,尽量不要在用户名和数据库名中包含下划线,因为SQL中的下划线是一种匹配任意单个字符的模式,这与%匹配一个字符串非常类似.

revoke命令

剥夺用户权限通过revoke命令来完成:
revoke <a_privilege> on <an_object> from <a_user>与grant相似.例如:
mysql> REVOKE INSERT ON foo.* FROM rick@'%';
但是revoke命令不能删除用户.想要删除一个用户,应该用revoke来删除它的权限,然后切换到内部的mysql数据库,通过从user表中删除相应的行来完全删除一个用户:

mysql> use mysql
mysql> DELETE FROM user WHERE user = "rick"
mysql> FLUSH PRIVILEGES;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值