MySQL Reference Manual for version 4.0.18.
A.4.2 How to Reset a Forgotten Root Password
If you never set a root password for MySQL, then the server will
not require a password at all for connecting as root. It is
recommended to always set a password for each user. See section 5.3.1 General Security Guidelines.
If you have set a root password, but forgot what it was, you can
set a new password with the following procedure:
-
Take down the
mysqld server by sending a kill (not kill
-9) to the mysqld server. The pid is stored in a `.pid'
file, which is normally in the MySQL database directory:
| | shell> kill `cat /mysql-data-directory/hostname.pid`
|
You must be either the Unix root user or the same user mysqld
runs as to do this.
-
Restart
mysqld with the --skip-grant-tables option.
-
Set a new password with the
mysqladmin password command:
| | shell> mysqladmin -u root password "mynewpassword"
|
-
Now you can either stop
mysqld and restart it normally,
or just load the privilege tables with:
| | shell> mysqladmin -h hostname flush-privileges
|
-
After this, you should be able to connect using the new password.
Alternatively, you can set the new password using the mysql client:
-
Take down and restart
mysqld with the --skip-grant-tables
option as described above.
-
Connect to the
mysqld server with:
| | shell> mysql -u root mysql
|
-
Issue the following commands in the
mysql client:
| | mysql> UPDATE user SET Password=PASSWORD('mynewpassword')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
|
-
After this, you should be able to connect using the new password.
-
You can now stop
mysqld and restart it normally.
This document was generated
by rdg (Feb 25 2004)
using texi2html