&先添加mysql的bin目录到环境变量
一、登录MYSQL
mysql -h服务器名 -u用户名 -p
登录本地服务器:
mysql -uroot -p
二、创建用户和权限
CREATE USER 'user_name'@'host' IDENTIFIED BY 'password';
CREATE USER ‘aaa’@‘localhost’ IDENTIFIED BY ‘123456’; //表示创建的新用户,名为aaa,这个新用户密码为123456,只允许本机登陆
CREATE USER 'bbb'@'%' IDENTIFIED BY '123456';//表示新创建的用户,名为bbb,这个用户密码为123456,可以从其他电脑远程登陆mysql所在服务器
CREATE USER ‘ccc’@‘%’ ;//表示新创建的用户ccc,没有密码,可以从其他电脑远程登陆mysql服务器
授权:
命令:GRANT privileges ON databasename.tablename TO ‘username’@‘host’
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户。
例:
GRANT select,insert ON zje.zje TO ‘aaa’@‘%’; //表示给用户aaa授权,让aaa能给zje库中的zje表 实行 insert 和 select。
GRANT ALL ON *.* TO ‘aaa’@‘%’;//表示给用户aaa授权,让aaa能给所有库所有表实行所有的权力。
用GRANT ALL ON *.* TO ‘aaa’@‘%’ ;再看用户列表,可以发现权限都变成 Y了。
三.删除用户
命令:DROP USER ‘user_name’@‘host’
例:
DROP USER 'aaa'@‘%’;//表示删除用户aaa;
四.设置与更改用户密码
SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’);
如果是设置当前用户的密码:
SET PASSWORD = PASSWORD('newpassword');
如: SET PASSWORD = PASSWORD(‘123456’);
五.撤销用户权限:
命令:REVOKE privileges ON database.tablename FROM ‘username’@‘host’;
例如: REVOKE SELECT ON *.* FROM ‘zje’@‘%’;
但注意:
若授予权利是这样写: GRANT SELECT ON *.* TO ‘zje’@‘%’;
则用 REVOKE SELECT ON zje.aaa TO ‘zje’@‘%’;是不能撤销用户zje 对 zje.aaa 中的SELECT 权利的。
反过来 GRANT SELECT ON zje.aaa TO ‘zje’@‘%’;授予权力
用 REVOKE SELECT ON *.* FROM ‘zje’@‘%’;也是不能用来撤销用户zje 对zje库的aaa表的SELECT 权利的