MySQL修改用户(RENAME USER) 图片看不了?点击切换HTTP 返回上层
在上一节我们学习了在 MySQL 数据库中创建用户,接下来我们将介绍如何修改 MySQL 数据库中用户的账号和口令。
语法格式:
使用 RENAME USER 语句时应该注意以下几点:
RENAME USER 语句用于对原有的 MySQL 账户进行重命名。
若系统中旧账户不存在或者新账户已存在,则该语句执行时会出现错误。
要使用 RENAME USER 语句,必须拥有 MySQL 中的 MySQL 数据库的 UPDATE 权限或全局 CREATE USER 权限。
【实例 1】使用 RENAME USER 语句将用户名 james 修改为 jack,主机是 localhost。输入的 SQL 语句和执行过程如下所示。
在 Windows 命令行工具中,使用 jack 和密码 tiger 登录数据库服务器,如下所示。
语法格式:
语法说明如下。
【实例 2】使用 SET 语句将用户名为 jack 的密码修改为 lion,主机是 localhost。输入的 SQL 语句和执行过程如下所示。
在 Windows 命令行工具中,使用 jack 和密码 lion 登录数据库服务器,如下所示。
修改用户账号
可以使用 RENAME USER 语句修改一个或多个已经存在的 MySQL 用户账号。语法格式:
RENAME USER <旧用户> TO <新用户>
语法说明如下:- <旧用户>:系统中已经存在的 MySQL 用户账号。
- <新用户>:新的 MySQL 用户账号。
使用 RENAME USER 语句时应该注意以下几点:
RENAME USER 语句用于对原有的 MySQL 账户进行重命名。
若系统中旧账户不存在或者新账户已存在,则该语句执行时会出现错误。
要使用 RENAME USER 语句,必须拥有 MySQL 中的 MySQL 数据库的 UPDATE 权限或全局 CREATE USER 权限。
【实例 1】使用 RENAME USER 语句将用户名 james 修改为 jack,主机是 localhost。输入的 SQL 语句和执行过程如下所示。
1 2 3 | mysql> RENAME USER james@ 'localhost' -> TO jack@ 'localhost' ; Query OK, 0 rows affected (0.03 sec) |
1 2 3 4 5 6 7 8 9 10 | C:\Users\ USER >mysql -h localhost -u jack -p Enter password : ***** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.7.20-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and / or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and / or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. |
修改用户口令
可以使用 SET PASSWORD 语句修改一个用户的登录口令。语法格式:
1 2 3 4 5 6 | SET PASSWORD [ FOR <用户名> ] = { PASSWORD ( '新明文口令' ) | OLD_PASSWORD( '旧明文口令' ) | '加密口令值' } |
- FOR 子句:可选项。指定欲修改口令的用户。
- PASSWORD('新明文口令'):表示使用函数 PASSWORD() 设置新口令,即新口令必须传递到函数 PASSWORD() 中进行加密。
- 加密口令值:表示已被函数 PASSWORD() 加密的口令值。
使用 SET PASSWORD 语句应注意以下几点:注意:PASSWORD() 函数为单向加密函数,一旦加密后不能解密出原明文。
- 在 SET PASSWORD 语句中,若不加上 FOR 子句,表示修改当前用户的口令。若加上 FOR 子句,表示修改账户为 user 的用户口令。
- user 必须以 'user_name'@'host_name' 的格式给定,user_name 为账户的用户名,host_name 为账户的主机名。
- 该账户必须在系统中存在,否则语句执行时会出现错误。
- 在 SET PASSWORD 语句中,只能使用选项 PASSWORD('新明文口令') 和加密口令值中的一项,且必须使用其中的一项。
【实例 2】使用 SET 语句将用户名为 jack 的密码修改为 lion,主机是 localhost。输入的 SQL 语句和执行过程如下所示。
1 2 3 | mysql> SET PASSWORD FOR 'jack' @ 'localhost' = -> PASSWORD ( 'lion' ); Query OK, 0 rows affected, 1 warning (0.03 sec) |
1 2 3 4 5 6 7 8 9 10 | C:\Users\ USER >mysql -h localhost -u jack -p Enter password : ***** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.7.20-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and / or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and / or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. |