[METHOD 1]
ps aux |grep mysql
service mysqld stop
mkdir /home/me
cd /home/me
vi mysql-init
>>
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
# Start the MySQL server with the special --init-file
option
mysqld_safe --init-file=/home/me/mysql-init &
# remove the temp file
rm -rf /home/me
# Login to mysql with the new password
mysql -uroot -p
[Reference]
http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix
[METHOD 2]
service mysqld stop
mysqld_safe --skip-grant-tables --user=root &
mysql -u root
MYSQL>
(for MySQL Version before 5.7)
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
(for MySQL Version 5.7 onwards)
UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass'), password_expired = 'N' WHERE User='root';
FLUSH PRIVILEGES;
OR
ALTER USER USER() IDENTIFIED BY 'MyNewPass';
service mysqld restart