|
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):
# /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
|