小滕的博客

小滕的技术点滴

告别root用户为每个站点创建Mysql用户

1 year ago · 1 MIN READ
#必备技能  #开发小技巧 

创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username 是登录用户名。 host 是登录的主机,本机使用请填写: localhost 如果允许远程主机连接,请填写: %password 是登录密码。

分配权限

GRANT privileges(操作权限) ON dbname.tablename TO 'username'@'host';

privileges:操作权限,主要有:insert, update, delete 等,详细见下面的表格。 dbname:数据库名,如果所有数据库则填写:%tablename:表名,如果所有表则填写:%username:需要赋权的用户名。 host:同上。

注意以上授权的用户没有授予其他用户的权限,如果想给该用户 授权 的权限,请使用: GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

privileges权限

编号 说明
ALL 所有权限
ALTER
CREATE ROUTINE
CREATE
CREATE ROUTINE
CREATE TEMPORARY TABLE
CREATE USER
CREATE VIEW
DELETE
DROP
EXECUTE
FILE
INDEX
INSERT
LOCK TABLES
PROCESS
RELOAD
REPLICATION
CLIENT
REPLICATION SLAVE
SELECT
SHOW DATABASES
SHOW VIEW
SHUTDOWN
SUPER
UPDATE
USAGE

更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户可直接 SET PASSWORD = PASSWORD("newpassword");

撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

假如你在给用户 'pig'@'%' 授权的时候是这样的(或类似的)::GRANT SELECT ON test.user TO 'pig'@'%';。则在使用 REVOKE SELECT ON *.* FROM 'pig'@'%' 。命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是 GRANT SELECT ON *.* TO 'pig'@'%' 。则 REVOKE SELECT ON test.user FROM 'pig'@'%' 命令也不能撤销该用户对test数据库中user表的Select 权限.

删除用户

DROP USER 'username'@'host';

OK,到此结束。

做个笔记,加深印象。 ( ^ - ^ )

原文链接:http://www.jb51.net/article/31850.htm

···

xiao teng



备案号:皖ICP备14012032号-5