一,停掉mysql服务# service mysqld stop
二,修改mysqld_safe的参数# mysqld_safe --skip-grant-tables --skip-networking
参数解释:
--skip-grant-tables: 绕过授权表,这样就可以在登录mysql时暂时不需要密码。
--skip-networking: 不需要密码即可登录mysql服务器可能会存在安全延缓,因此最好将网络功能关闭。
三,启动mysql服务# service mysqld start
这样就可以直接登录mysql服务器了# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.42-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
四,修改mysql登录密码mysql> UPDATE user SET PASSWORD=PASSWORD('123456') WHERE User='root' AND Host='127.0.0.1';
mysql> UPDATE user SET PASSWORD=PASSWORD('123456') WHERE User='root' AND Host='localhost';
mysql> FLUSH PRIVILEGES;
五,把mysqld_safe的参数改回来# service mysqld stop
# mysqld_safe &
# service mysqld start
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
补充:
mysql用户密码修改的常用方法:1、# mysqladmin -u root -h 127.0.0.1 password '123456' -p
2、mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');
3、mysql> UPDATE mysql.user SET PASSWORD=PASSWORD('123456') WHERE User='root' AND Host='localhost';