SET PASSWORD

SET PASSWORD 语句用于更改 TiDB 系统数据库中的用户密码。

语法图

SetPasswordStmt

SET PASSWORD - 图1

1. SetPasswordStmt ::=
2. "SET" "PASSWORD" ( "FOR" Username )? "=" ( stringLit | "PASSWORD" "(" stringLit ")" )

示例

1. SET PASSWORD='test';
1. Query OK, 0 rows affected (0.01 sec)
1. CREATE USER 'newuser' IDENTIFIED BY 'test';
1. Query OK, 1 row affected (0.00 sec)
1. SHOW CREATE USER 'newuser';
1. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2. | CREATE USER for newuser@%                                                                                                                                            |
3. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4. | CREATE USER 'newuser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK |
5. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
6. 1 row in set (0.00 sec)
1. SET PASSWORD FOR 'newuser' = 'test';
1. Query OK, 0 rows affected (0.01 sec)
1. SHOW CREATE USER 'newuser';
1. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2. | CREATE USER for newuser@%                                                                                                                                            |
3. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4. | CREATE USER 'newuser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK |
5. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
6. 1 row in set (0.00 sec)
1. SET PASSWORD FOR 'newuser' = PASSWORD('test');

上述语法是早期 MySQL 版本的过时语法。

1. Query OK, 0 rows affected (0.00 sec)
1. SHOW CREATE USER 'newuser';
1. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2. | CREATE USER for newuser@%                                                                                                                                            |
3. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4. | CREATE USER 'newuser'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK |
5. +----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
6. 1 row in set (0.00 sec)

MySQL 兼容性

SET PASSWORD 语句与 MySQL 完全兼容。如发现任何兼容性差异,请尝试 TiDB 支持资源。

另请参阅