Sometime you need to reset MySQL password on a server you have root access to. Here’s a step-by-step how-to to accomplish this task on a CentOS 6 server.
Stop the MySQL daemon process
[root@memento ~]# /etc/init.d/mysqld stop
Start the mysqld daemon process with the –skip-grant-tables option.
[root@memento ~]# mysqld_safe --skip-grant-tables &
Now you should connect to MySQL without password:
[root@memento ~]# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.0.95 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Now you can set new password for user root as follows:
mysql> UPDATE mysql.user SET Password=PASSWORD('***YOUR NEW PASSWORD HERE***') WHERE User='root';
At this point, you may exit the MySQL prompt (using the ‘quit’ or ‘exit’ command), then you can restart the MySQL daemon in normal mode as follows:
[root@memento ~]# /etc/init.d/mysqld restart
Now you can to connect to MySQL with the new password:
[root@memento ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is ...