在MySQL数据库中如何来复位根用户的密码

数据库 MySQL
当今社会什么东西都有密码,对于MySQL数据库来说,安全问题更是敏感,所以对MySQL数据库加密是非常有必要的,那万一您的密码忘记,该如何来复位根用户的密码?

导读:如果你从未为MySQL设置根用户密码,服务器在以根用户身份进行连接时不需要密码。但是,建议你为每个账户设置密码。如果你以前设置了根用户密码,但却忘记了该密码,可设置新的密码。下述步骤是针对Windows平台的。下文就为大家讲解解决在MySQL数据库中恢复根用户密码的问题。
在Windows平台下,该步骤是:

以系统管理员身份登录到系统。

如果MySQL服务器正在运行,停止它。对于作为Windows服务运行的服务器,进入服务管理器:

开始菜单->控制面板->管理工具->服务

然后在列表中找出MySQL服务器,并停止它。

如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。

创建1个文本文件,并将下述命令置于单一行中:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

用任意名称保存该文件。在本例中,该文件为C:\mysql-init.txt。

打开控制台窗口,进入DOS命令提示:

开始菜单->运行-> cmd

假定你已将MySQL安装到C:\mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。

在DOS命令提示符下,执行命令:

C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt

在服务器启动时,执行由“--init-file”选项命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\mysql-init.txt。

如果你使用MySQL安装向导安装了MySQL,或许需要指定“--defaults-file”选项:

以下为引用的内容:
C:\> C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld-nt.exe
--defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini"
--init-file=C:\mysql-init.txt

使用服务管理器,可找到恰当的“--defaults-file”设置:

开始菜单->控制面板->管理工具->服务

在列表中找出MySQL服务,右击,并选择“属性”选项。在可执行字段的Path(路径)中包含“--defaults-file”设置。

停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。

 

应能使用新密码进行连接。

在Unix环境下,重置根用户密码的步骤如下:

以Unix根用户身份、或以运行mysqld服务器的相同身份登录到系统。

找到包含服务器进程ID的.pid文件。该文件的准确位置和名称取决于你的分发版、主机名和配置。常见位置是/var/lib/mysql/、/var/run/mysqld/和/usr/local/mysql/data/。一般情况下,文件名的扩展名为.pid,并以mysqld或系统的主机名开始。

在下述命令中使用.pid文件的路径名,向mysqld进程发出正常的kill(而不是kill -9),可停止MySQL服务器:

shell> kill `cat /mysql-data-directory/host_name.pid`

注意,cat命令使用符号“`”而不是“’”:这会使cat的输出代入到kill命令中。

创建文本文件,并将下述命令放在文件内的1行上:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

用任意名称保存文件。对于本例,文件为~/mysql-init。

用特殊的“--init-file=~/mysql-init”选项重启MySQL服务器:

shell> mysqld_safe --init-file=~/mysql-init &

文件init-file的内容在服务器启动时执行,更改根用户密码。服务器成功启动后,应删除~/mysql-init。

应能使用新密码进行连接。

作为可选方式,在任何平台上,可使用mysql客户端设置新密码(但该方法不够安全):

停止mysqld,并用“--skip-grant-tables --user=root”选项重启它(Windows用户可省略--user=root部分)。

使用下述命令连接到mysqld服务器:

shell> mysql -u root

在mysql客户端发出下述语句:

以下为引用的内容:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;

用打算使用的实际根用户密码替换“newpwd”。

上文就是我要为大家介绍的关于MySQL数据库中复位根用户密码的方法,上文中涉及到的方法也并不是绝对权威,如果有什么问题欢迎大家指正。

【编辑推荐】

  1. MySQL数据库只监听某个特定地址的方法
  2. 备份MySQL数据库的简单方法
  3. MySQL数据库的自动备份
责任编辑:迎迎 来源: 赛迪网
相关推荐

2011-05-16 14:07:12

MySQL数据库设置密码

2011-04-07 09:06:27

MySQL数据库密码

2022-02-17 23:44:33

Linux系统MySQL

2015-04-01 09:07:55

2011-03-03 10:04:28

PureFTPdmysql

2010-06-10 15:38:58

MySQL数据库

2018-05-10 17:18:59

数据库MySQL密码

2018-09-11 17:13:23

MySQ数据库重复记录

2011-08-23 17:45:54

MySQL丢失root密码

2023-09-13 14:52:11

MySQL数据库

2023-09-14 23:05:57

​ ​MySQL数据库

2011-07-05 10:27:06

MySQL数据库检索排序

2010-06-07 17:45:06

MySQL数据库密码

2010-06-09 08:39:34

2010-05-19 13:37:39

MySQL数据库密码

2010-05-20 09:45:22

连接MySQL

2021-06-12 09:39:50

Python字典数据类型Python基础

2009-06-01 09:57:43

netbeans连接数netbeans数据库netbeans连接m

2022-02-28 07:37:02

Java配置参数

2010-06-02 18:07:44

MySQL数据库
点赞
收藏

51CTO技术栈公众号