mysql 添加用户并设置权限
-
创建用户
CREATE USER \'username\'@\'host\' IDENTIFIED BY \'password\';-
说明
username – 你将创建的用户名 host – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如 果想让该用户可以从任意远程主机登陆,可以使用通配符% password – 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器 -
例子
CREATE USER \'javacui\'@\'localhost\' IDENTIFIED BY \'123456\'; CREATE USER \'javacui\'@\'172.20.0.0/255.255.0.0\' IDENDIFIED BY \'123456\'; CREATE USER \'javacui\'@\'%\' IDENTIFIED BY \'123456\'; CREATE USER \'javacui\'@\'%\' IDENTIFIED BY \'\'; CREATE USER \'javacui\'@\'%\';
-
-
授权
GRANT privileges ON databasename.tablename TO \'username\'@\'host\';-
说明
privileges – 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所 的权限则使用ALL databasename – 数据库名 tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用* 表示, 如*.* -
例子
GRANT SELECT, INSERT ON test.user TO \'javacui\'@\'%\'; GRANT ALL ON *.* TO \'javacui\'@\'%\';
-
-
设置与更改用户密码
SET PASSWORD FOR \'username\'@\'host\' = PASSWORD(\'newpassword\');若是当前用户:
SET PASSWORD = PASSWORD("newpassword"); -
撤销权限
REVOKE privilege ON databasename.tablename FROM \'username\'@\'host\';例子:
REVOKE SELECT ON *.* FROM \'javacui\'@\'%\';假如你在给用户’javacui’@\'%’授权的时候是这样的(或类似 的):GRANT SELECT ON test.user TO ‘javacui’@\'%’, 则在使用 REVOKE SELECT ON . FROM ‘javacui’@\'%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作注意:
相反,如果授权使用的是GRANT SELECT ON . TO ‘javacui’@\'%’;则 REVOKE SELECT ON test.user FROM ‘javacui’@\'%’;命令也不能撤销该用户对test数据库中user表的 Select 权限
具体信息可以用命令SHOW GRANTS FOR ‘javacui’@\'%’; 查看
-
删除用户
DROP USER ‘username’@\'host’; -
刷新数据库
flush privileges; -
备注
默认root用户无远程登录权限,要想远程登录,给root授权即可。
GRANT ALL PRIVILEGES ON . TO \'root\'@\'%\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;
%表示任意远程主机都可以连接 如果将%改为IP,则只允许此IP的主机进行远程root访问,123456为远程登录密码