在教程中我们将学习如何在MySQL中更改用户密码。
SET PASSWORD语句用于更改MySQL数据库中的用户密码。其语法为:
SET
PASSWORD
[
FOR
user_name ] =
{
(
'plaintext_password1'
)
| OLD_PASSWORD(
'plaintext_password2'
|
'encrypted_password'
};
说明:USER_NAME 的格式是USER_NAME@HOST_NAME
修改用户mysql的密码:
'mysql'
@
'localhost'
=
'ykmima2010'
);
MySQL 4.1之前 修改密码:
= OLD_PASSWORD(
如果新密码已经加密,则可以使用SET PASSWORD语句,如下所示:
'*0886644237EED5C45BE221093802B5AB0C06D2D0'
;
如何更改mysql的密码
ykbiji@ubuntu1804:~$
sudo
mysql --version
mysql Ver 14.14 Distrib 5.7.27,
for
Linux (x86_64) using EditLine wrapper
mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection
id
is 3
Server version: 5.7.27-0ubuntu0.18.04.1 (Ubuntu)
mysql>
有三种方法设置密码:
3-1. 使用 alter table语句
通过修改mysql自带的user表进行密码修改。
mysql> USE mysql;
mysql> SELECT user,host FROM user;
+------------------+-----------+
| user | host |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| userlau | localhost |
5 rows
in
set
(0.00 sec)
mysql> ALTER USER
'username'
IDENTIFIED BY
'newPassword'
### mysql 5.7+
IDENTIFIED WITH mysql_native_password BY
3-2. 使用 SET PASSWORD
SET PASSWORD语句用于将密码分配给现有的MySQL账号。
mysql> SET PASSWORD FOR
'userlau'
= PASSWORD(
'some password'
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> quit
3-3. 直接更新user表
首先,查看表的字段(列)。
Database changed
mysql> DESC user;
对于mysql 5.7,加密的密码存储在字段authentication_string中。
mysql> UPDATE user SET authentication_string = PASSWORD(
) WHERE User =
AND Host =
mysql> FLUSH PRIVILEGES;
如果是mysql 5.6或者以下的版本,密码存储在字段 password。
mysql> UPDATE user SET password = PASSWORD(
mysql -uuserlau -p
原文链接:https://codingdict.com/