服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - 数据库技术 - 快速修改mysql密码的四种方法示例详解

快速修改mysql密码的四种方法示例详解

2023-06-27 12:01未知服务器之家 数据库技术

快速修改mysql密码的四种方法 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql set password for 用户名@localhost = password(新密码); 例子:mysql set password for root@localhost = password(123); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码

快速修改mysql密码的四种方法

方法1: 用SET PASSWORD命令 

首先登录MySQL。 
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('123'); 

方法2:用mysqladmin 

格式:mysqladmin -u用户名 -p旧密码 password 新密码 
例子:mysqladmin -uroot -p123456 password 123 

方法3:用UPDATE直接编辑user表 

首先登录MySQL。 
mysql> use mysql; 
mysql> update user set password=password('123') where user='root' and host='localhost'; 
mysql> flush privileges; 

方法4:在忘记root密码的时候,可以这样 

以windows为例: 
1. 关闭正在运行的MySQL服务。 
2. 打开DOS窗口,转到mysql\bin目录。 
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。 
6. 连接权限数据库: use mysql; 。 
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 
7. 刷新权限(必须步骤):flush privileges; 
8. 退出 quit。 
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

PS:MySQL修改root用户密码

知道密码在清楚的知道密码的情况之下可以使用以下几种方式修改MySQL的密码。方式一登录mysql

在 MySQL 中,root 用户拥有很高的权限,因此必须保证 root 用户密码的安全。修改 root 用户密码的方式有很多种,本节将介绍几种常用的修改 root 用户密码的方法。

使用mysqladmin命令在命令行指定新密码

root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 的语法格式如下:

mysqladmin -u username -h hostname -p password "newpwd"

语法参数说明如下:

  • usermame 指需要修改密码的用户名称,在这里指定为 root 用户;
  • hostname 指需要修改密码的用户主机名,该参数可以不写,默认是 localhost;
  • password 为关键字,而不是指旧密码;
  • newpwd 为新设置的密码,必须用双引号括起来。如果使用单引号会引发错误,可能会造成修改后的密码不是你想要的。

执行完上面的语句,root 用户的密码将被修改为“newpwd”。

示例 1

下面使用 mysqladmin 将 root 用户的密码修改为“rootpwd”,在 Windows 命令行窗口(cmd)中执行命令和运行结果如下:

C:\Users\leovo>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 服务器就会提示这些安全警告信息。

下面使用修改后的“rootpwd”密码登录 root 用户,SQL 语句和运行结果如下:

C:\Users\leovo>mysql -uroot -p
Enter password: *******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.7.29-log MySQL Community Server (GPL)

Copyright (c) 2000, 2020, 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.

结果显示,root 用户登录成功,所以使用 mysqladmin 命令修改 root 用户密码成功。

修改MySQL数据库的user表

因为所有账户信息都保存在 user 表中,因此可以直接通过修改 user 表来改变 root 用户的密码。

root 用户登录到 MySQL 服务器后,可以使用 UPDATE 语句修改 MySQL 数据库的 user 表的 authentication_string 字段,从而修改用户的密码。

使用 UPDATA 语句修改 root 用户密码的语法格式如下:

UPDATE mysql.user set authentication_string = PASSWORD ("rootpwd) WHERE User = "root" and Host="localhost";

新密码必须使用 PASSWORD() 函数来加密。执行UPDATE语句后,需要执行FLUSH PRIVILEGES语句重新加载用户权限。

示例 2

下面使用 UPDATE 语句将 root用户的密码修改为“rootpwd2”。

使用 root 用户登录到 MySQL 服务器后,SQL 语句和运行结果如下所示:

mysql> UPDATE mysql.user set authentication_string = password ("rootpwd2")
    -> WHERE User = "root" and Host = "localhost";
Query OK, 1 row affected, 0 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings:0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.06 sec)

结果显示,密码修改成功。而且使用了FLUSH PRIVILEGES;语句加载权限。退出后就必须使用新密码来登录了。

使用SET语句修改root用户的密码

SET PASSWORD 语句可以用来重新设置其他用户的登录密码或者自己使用的账户的密码。使用 SET 语句修改密码的语法结构如下:

SET PASSWORD = PASSWORD ("rootpwd");

示例 3

下面使用 SET 语句将 root 用户的密码修改为“rootpwd3”。

使用 root 用户登录到 MySQL 服务器后,SQL 语句和运行结果如下所示:

MySQL> SET PASSWORD = password ("rootpwd3");
Query OK, 0 rows affected (0.00 sec)

结果显示,SET 语句执行成功,root 用户的密码被成功设置为“rootpwd3”。

延伸 · 阅读

精彩推荐