mysql管理数据库用户和访问权限

来源:互联网 发布:京东咚咚工作台mac版 编辑:程序博客网 时间:2024/05/15 10:39

1:创建一个数据库用户:

MariaDB [(none)]> create user jarry@localhost identified by "root";Query OK, 0 rows affected (0.00 sec)

解释:该账户的用户名:jarry,主机名localhost,密码“root”
该用户账户只能从localhost使用密码root进行连接,并且没有任何特权,密码在user表中加密(如图)。
注意:如果没有提供主机名,则假定主机名为“%”,这就意味着该用户可以中任何源主机进行访问
账户示例账户描述jack@'localhost'用户jack只能从本地主机进行连接jack@'192.168.1.5'用户jack可以从主机192.168.1.5进行连接jack@'192.168.1.%'用户jack可以从任何属于192.168.1.0主机进行连接
jack@'%'用户jack可以从任何主机进行连接jack@'200:472:18:b51:c32:a21'用户jack可以从主机200:472:18:b51:c32:a21进行连接

2:为用户账户授予和撤销特权:

格式:
grant select on database.table to username@hostname;
定义要授予的特权;定义要将针对那些表授予特权;要授予的特权的用户。
授权示例授权描述grant select on database.table to username@hostname 给特定用户授予对特定数据库中特定表的选择特权grant select on database.* to username@hostname给特定用户授予对特定数据库中所有表的选择权grant select on *.* to username@hostname给特定用户授予对所有数据库中所有表的选择特权
grant create,alter,drop on database.* to username@hostname向特定用户授予特定数据库中,创建,更改,和删除表的特权grant all privileges on *.* to username@hostname给特定的用户授予对所有数据库的所有可用特权,事实上相当于创建了一个超级用户(类似root)
revoke语句可以撤销账户的特权,连接的用户必须具有grant option 特权并且具有要撤销的特权,才能撤销特权。
revoke select,update,delete,insert on inventory.category from jack@localhost;
格式:定义要撤销的特权;定义要针对那些表撤销特权;定义从哪个用户撤销特权。
重要:
在授予或撤销某项特权以后,将从mysql数据库中的特权表中重新加载所有特权。
flush privileges;
显示某个用户授予的特权列表:
show grants for username@hostname;

3:删除用户:

当不需要某个用户时,可以使用drop user username 从数据库将某个用户删除,使用格式与create user相同。
drop user username@hostname;



5 0
原创粉丝点击