MYSQL是一个开源数据管理软件,它可以用来帮用户存储、组织、检索数据。它有多个选项可以给用户授予对数据库和表的不同授权。在很多的选项中总结了一些简单的授权命令,如下:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
但是通过这个创建的新用户现在对数据库没有任何的操作权限。
首先要给用户授予获取操作数据的权限。
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
这个命令可以允许用户对所有的数据库和表进行增、删、改、及执行所有任务。相当于一个管理员的权限。
这里简单列一些通用的权限。
ALL PRIVILEGES- 如之前我们用的,这个可以允许Mysql的用户有所有的权限。
CREATE- 允许创建新的数据库和表
DROP- 允许删除数据库和表
DELETE- 允许删除表中的一行记录
INSERT- 允许往表中插入一行记录
SELECT- 允许使用Select命令读取数据库的数据
UPDATE- 允许更新表中的数据
GRANT OPTION- 允许对其他用户的权限进行授予和删除
给特定的用户授予特定的权限,可以使用如下模板:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
如果想授予任何数据库或任何表的权限,可以使用一个星号(*)来代替数据库名或者表名。
如果想收回授权, 命令和进行授权的命令很类似,如下:
REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;
就像可以使用DROP命令来删除数据库,也可以使用DROP来删除一个用户:
DROP USER ‘demo’@‘localhost’;
测试一个新用户是否生效,可以先退出,输入:
quit
然后用这个命令重新登录终点:
mysql -u [username]-p