MySQL用户创建、删除、密码修改

添加用户

关于MySQL用户创建主要使用,CREATE USER(创建账户)和GRANT(账户授权)语句。这些语句会促使MySQL server适当的去修改授权相关的表数据。
注: 当也可以使用INSERT、UPDATE和DELETE的语句直接操作数据表,但这样会存在一定的风险,所以并不推荐这样做。

1. 创建用户

首先,你需要连接到数据库。如使用root用户去添加账户

例:创建finley用户,密码为password,并授予该用户所有数据库所有表的所有权限 
CREATE USER 'finley'@'localhost' IDENTIFIED BY 'password';  
GRANT ALL PRIVILEGES ON *.*  TO 'finley'@'localhost' WITH GRANT OPTION;
命令描述:

finely: 用户名。
localhost: 表示允许本机连接,可替换为’%’,表示允许所有主机连接。这里也可以IP、域名,甚至是’%.example.com‘,表示example.com域下的所有主机。可以是‘IP网段/子网掩码’,例如‘192.168.1.0/255.255.255.0’。
IDENTIFIED BY: 通过什么认证的意思,后面跟密码。
password: 账户密码(限定32个字符内)。
ALL PRIVILIEGES: 表示所有权限也可以是(SELECT、INSERT、DELETE、UPDATE、CREATE、DROP、RELOAD、 PROCESS等)其中的一个或多个,多个用“,”分隔。
ON: 中间词(自我理解,表示’在…之上‘)
*.* : 第一个*表所有数据库,第二个*表示所有表(就是可以具体到某个库的某个表)
TO: 表示“给”哪个用户授予这些权限。
WITH GRANT OPTION: 这语句可选,表示当前授权的这个finley用户可以将自己的权限在授予他人。

事实上以上两句可以使用这一句完成:
GRANT ALL PRIVILIEGES ON *.* TO 'finley‘@’localhost‘ IDENTIFIED BY 'password' WITH GRANT OPTION;

注: 这里可不使用 flush privileges;去刷新权限,因为grant语句自带刷新效果,如果是通过直接SQL语句修改mysql表达方式,则需要使用改刷新语句。

2. 删除用户权限

例句: REVOKE ALL ON *.* FROM ’finley‘@'localhost'; 
查看用户特权: SHOW GRANTS FOR 'finley'@'localhost';
查看用户非特权属性:SHOW CREATE USER ’finley‘@'localhost'\G

3. 删除用户

DROP USER 'finley'@'localhost'; //删除finley用户

4. 修改用户密码

ALTER USER 'finley'@'localhost' IDENTIFIED BY 'password';  //修改用户密码
ALTER USER USER() IDENTIFIED BY 'password';  //修改当前用户密码

猜你喜欢

转载自blog.csdn.net/qq_29550537/article/details/88742469