MySQL commands and recovery PDF Print E-mail
User Rating: / 1
PoorBest 
Written by Bart Dorlandt   
Wednesday, 04 July 2007 16:33

Thanks to nixCraft

Changing your password

mysqladmin command at shell prompt as follows:

$ mysqladmin -u root password NEWPASSWORD

However if you want to change (or update) a root password, then you need to use following command:

$ mysqladmin -u root -p oldpassword newpass

To change a normal user password you need to type (let us assume you would like to change password for vivek):

$ mysqladmin -u vivek -p oldpassword newpass

Method # 2:

MySQL stores username and passwords in user table inside MySQL database. You can directly update password using following method to update or change password for user vivek:

  • Login to mysql server, type following command at shell prompt:

$ mysql -u root -p

  • Use mysql database (type command at mysql> prompt):

mysql> use mysql;

  • Change password for user vivek:

mysql> update user set password=PASSWORD("NEWPASSWORD") where User='vivek';

  • Reload privileges (very important):

mysql> flush privileges;
mysql> quit

This method you need to use while using PHP or Perl scripting. 

Password recovery

Here are commands you need to type for each step (login as the root user):

Step # 1 : Stop mysql service

# /etc/init.d/mysql stop

Step # 2: Start to MySQL server w/o password:

# mysqld_safe --skip-grant-tables &

Output:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

Step # 3: Connect to mysql server using mysql client:

# mysql -u root

Output:

Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>

Step # 4: Setup new MySQL root user password

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

Step # 5: Stop MySQL Server:

# /etc/init.d/mysql stop

Output:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+  Done                    mysqld_safe --skip-grant-tables

Step # 6: Start MySQL server and test it

# /etc/init.d/mysql start
# mysql -u root -p

Last Updated on Monday, 16 July 2007 20:47
 


Related items: