修改root用户密码(set password for/mysqladmin/UPDATE/ALTER)

Exisi 2023-01-24 18:18:35
Categories: Tags:
  • MySQL中,有四种方式可以修改权限用户的密码
    • 使用mysqladmin命令
    • 使用set password for命令
    • 使用UPDATA语句
    • 使用ALTER语句

 

 

 

使用 mysqladmin 命令

  • mysqladminMySQL官方提供的shell命令行工具(mysql是连接工具),其参数都需要在shell命令行上执行。mysqladmin提供了两类参数:连接参数和命令参数,连接参数用来指定连接信息,命令参数则是服务命令

 

  • root 用户可以使用 mysqladmin 命令来修改密码

 

  • 使用mysqladmin命令需要先输入旧密码登录,然后更改密码为新密码

语法

mysqladmin -u用户名 -p旧密码 password 新密码 

示例

C:\Users>mysqladmin -u root -p password "rootpwd"

 

Enter password: ****

mysqladmin: [Warning] Using a password on the command line interface can be insecure.

Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

 

  • 输入 mysqladmin 命令后,按回车键,然后输入 root 用户原来的密码。执行完毕后,密码修改成功,root 用户登录时将使用新的密码。

 

  • 运行结果中,输入密码后会提示在命令行界面上使用密码可能不安全的警告信息,因为在命令行输入密码时,MySQL 服务器就会提示这些安全警告信息

 

 

 

使用 set password for 命令 

  • MySQL 中,只有 root 用户可以通过更新 MySQL 数据库来更改密码。使用 root 用户登录到 MySQL 服务器后,可以使用 SET 语句来修改普通用户密码

语法

set password for '用户名'@'IP地址' = password('新密码')

示例

mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd");

 

Query OK, 0 rows affected, 1 warning (0.01 sec)

 

 

 

使用 UPDATE 语法

 使用update语法修改直接mysql.user中的密码字段

语法

 

UPDATE user SET authentication_string = password('新密码') WHERE user = '用户名' AND host = 'IP地址'

示例

mysql> USE mysql;

mysql> UPDATE user SET password = password('123') WHERE user = 'root' AND host = 'localhost'; 

Query OK, 0 rows affected,1 warning (0.27 sec)

 

mysql> flush privileges; 

Query OK, 0 rows affected (0.03 sec)

 

 

使用 ALTER 语法

  • 使用ALTER对数据表中的密码字段进行修改

语法

ALTER USER '用户名'@'IP地址' IDENTIFIED WITH mysql_native_password BY '密码'

示例

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected,1 warning (0.27 sec)

 

mysql> flush privileges; 

Query OK, 0 rows affected (0.03 sec)