重新设置MySQL服务器根密码
默认情况下, MySQL服务器将安装与根超级用户,不用任何密码。 您能连接到MySQL服务器作为根,无需要求密码或通过锁上在空白的密码。 然而,如果您设置了密码为根并且忘记或者无法召回密码,然后您将需要重新设置根密码为MySQL。
MySQL参考手册有是作为如下的详细步骤关于怎样重新设置密码为根:
做法在窗口之下:
- 注册对窗口系统, MySQL跑作为管理员。
- 如果它跑,停止MySQL服务器。 为运行的服务器,当窗口服务,去服务管理人员:
起动菜单- >控制板- >行政工具- >服务
然后发现MySQL服务在名单,并且停止它。
如果您的服务器不运行作为服务,您可能需要使用任务经理强迫它停止。
- 创造一个文本文件并且安置以下命令在它里面在单行:
设置密码为`根’ @ ' localhost’ =密码(’ 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文件选择被执行在服务器起动,改变根密码。 在服务器成功地之后起动了,您应该删除C:\mysql - init.txt。
如果您使用MySQL安装向导安装了MySQL,您可能需要指定a -默认文件选择:
C:\ > “C:\Program Files\MySQL\MySQL服务器5.0 \容器\ mysqld-nt.exe”
- defaults-file=” C:\Program Files\MySQL\MySQL服务器5.0 \ my.ini”
- init-file= C:\mysql - init.txt适当-默认文件设置可以使用服务管理人员被发现:
起动菜单- >控制板- >行政工具- >服务
发现MySQL服务在名单,用鼠标右键单击对此,并且选择物产选择。 道路向可执行的领域包含-默认文件设置。 请务必提供- init文件论据用充分的系统道路给文件,不管您的现行工作目录
- 停止MySQL服务器,然后再重新开始它在正常振荡型下。 如果MySQL服务器是跑了作为服务,开始它从窗口服务窗口。 如果您手工发动服务器,使用任何命令您通常使用。
- 连接到MySQL服务器通过使用新口令。
For Unix environment, the procedure for resetting the root password is as follows:
- Log on to the Unix system as either the Unix root user or as the same user that the mysqld server runs as.
- Locate the .pid file that contains the server’s process ID. The exact location and name of this file depend on your distribution, hostname, and configuration. Common locations are /var/lib/mysql/, /var/run/mysqld/, and /usr/local/mysql/data/. Generally, the filename has the extension of .pid and begins with either mysqld or the system’s hostname.
Stop the MySQL server by sending a normal kill (not kill -9) to the mysqld process, using the pathname of the .pid file in the following command:
shell> kill `cat /mysql-data-directory/host_name.pid`
Note the use of backticks rather than forward quotes with the cat command; these cause the output of cat to be substituted into the kill command.
- Create a text file and place the following command within it on a single line:
SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD(’MyNewPassword’);
Save the file with any name. For this example the file will be ~/mysql-init.
- Restart the MySQL server with the special –init-file=~/mysql-init option:
shell> mysqld_safe –init-file=~/mysql-init &
The contents of the init-file are executed at server startup, changing the root password. After the server has started successfully you should delete ~/mysql-init.
- Connect to MySQL server by using the new password.
Alternatively, on any platform, mysql client can be used to set the new password, althought it’s less secure way of resetting the password (detailed instruction here):
- Stop mysqld and restart it with the –skip-grant-tables –user=root options (Windows users omit the –user=root portion).
- Connect to the mysqld server with this command:
shell> mysql -u root
- Issue the following statements in the mysql client:
mysql> UPDATE mysql.user SET Password=PASSWORD(’newpwd’)
-> WHERE User=’root’;
mysql> FLUSH PRIVILEGES;Replace ‘newpwd’ with the actual root password that you want to use.
- You should be able to connect using the new password.
IMPORTANT: This is a machine translated page which is provided "as is" without warranty. Machine translation may be difficult to understand. Please refer to original English article whenever possible.
Share and contribute or get technical support and help at My Digital Life Forums.
Related Articles
- Change and Reset MySQL root Password
- Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 - Part 3
- Install Web Server in Windows XP with Apache2, PHP5 and MySQL4 - Part 4
- Check and Optimize MySQL Database Automatically with Crontab/Cron
- Using phpMyAdmin for Effective MySQL Management in Windows XP
- Fix for Munin MySQL Monitoring Plugin Graph Not Showing or Blank
- How to Reset WordPress Password to Recover Forgotten Secret
- How to Reset AdSense Password Not Associated with Google Account
- Disable Direct Root Login and User Access via SSH to Server
- Install phpBB 2 in Windows XP running on Apache 2, PHP 5 and MySQL 4

































June 6th, 2006 18:12
[...] Other then the ways specified here to reset and change the root password for mySQL database in the case that the password is forgotten or lost, the following instructions explain in details the alternative way at the last part of the guide, where no additional file needs to be created: [...]
October 8th, 2007 03:47
You should add –verbose –console to the command in step 5. I got a error because of a copy and paste issue that include a quote of the wrong type but there’s no error feedback without the –console. Also, the -console to stop the server with CTRL-C under windows, not sure about linux.
-Mike
April 23rd, 2008 23:38
This isn’t correct. The syntax should be “–init” not “-init”.
April 23rd, 2008 23:39
Ah and now that I’ve posted I see the problem. This site is disallowing double “-”. It’s being escaped or something.
Well dear reader, just now that “-init” should have TWO dashes (hyphens), not one.
April 23rd, 2008 23:39
Gah. “know” not “now”. I’m going for coffee now.
April 24th, 2008 10:05
Dude,
Didn’t see these comments while reading the article, but I figured out the double-hyphen syntax by trial and error.
Anyway you saved my Life by putting this documentation on the Net !! A thousand thanks ! -Rob
April 25th, 2008 01:37
There is a typo on the mysqld startup script.
The correct command requires TWO dashes before the parameter setting.
The correct command is (note TWO dashes before skip-grant-tables):
mysqld_safe –skip-grant-tables
July 31st, 2008 21:18
Procdure to reset root password in MySQL [RedHat & Fedora]
======================================================
Step-1
[root@redhat~]#killall mysqld
[root@redhat~]#/usr/libexec/mysqld –skip-grant-tables –user=root &
======================================================
Step-2 (In MySQL)
[root@redhat~]#mysql
use mysql;
update user set password=password(”newpassowrd”) where user=”root”;
flush privileges;
exit;
======================================================
Step-3
[root@redhat~]#killall mysqld
[root@redhat~]#/etc/init.d/mysqld start
There you go
August 14th, 2008 10:47
phpmyadmin