Date: Tue, 22 Jan 2002 23:30:36 +0300
From: Igor Cherkaev <Igor.Cherkaev@p6.f18.n5006.z2.fidonet.org>
Newsgroups: fido7.ru.unix.bsd
Subject: Как изменить забытые MySQL пароли.
DF> Есть тачка, на которой стоит MySQL, c момента установки так и не
DF> использовавшийся, посему пароли благополучно забыты.
DF> Как бы их добыть/сменить? Текущие базы ценности не имеют, но при
DF> попытке сделать по новой mysql_install_db... MySQL при запуске тут же
DF> пишет mysql ended - и все.
=== Cut ===
A.4.2 How to Reset a Forgotten Password
If you have forgotten the root user password for MySQL, you can restore it 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:
kill `cat /mysql-data-directory/hostname.pid`
You must be either the Unix root user or the same user the server runs as to do
this.
Restart mysqld with the --skip-grant-tables option.
Connect to the mysqld server with mysql -h hostname mysql and change the
password with a GRANT command. See section 4.3.1 GRANT and REVOKE Syntax. You
can also do this with mysqladmin -h hostname -u user password 'new password'
Load the privilege tables with: mysqladmin -h hostname flush-privileges or with
the SQL command FLUSH PRIVILEGES.
Note that after you started mysqld with --skip-grant-tables, any usage of GRANT
commands will give you an Unknown command error until you have executed FLUSH
PRIVILEGES.
Comments:
Hardly Boffin <mysqladmin@subgenius.net>: As a new user i find this very
confusing..
I was able to find another refference with easier examples at
http://www.codebits.com/bit.cfm?BitID=120
1. /usr/local/mysql/bin/safe_mysqld --skip-grant-tables &
2. /usr/local/mysql
3. use mysql;
4. update user set password = password('.......') where user = 'root' and
host='localhost';
5. Stop and Start the MySQL server.
=== Cut ===