一,杀掉正在运行的mysqld进程
shell>killall -TERM mysqld
二 以不用验证的方式启动mysqld
shell>/usr/bin/mysqld_safe --user=mysql --skip-grant-tables
三 另开一个终端
shell>mysql
mysql>use mysql
mysql> update user set password=password('newpassword') where user='root';
mysql>exit
shell>killall -TERM mysqld
如果安装了phpMyAdmin,则一定要修改phpMyAdmin目录下的config.inc.php文件,否则进不去(卡在这里多时)
四 如果没有用户则
shell>mysql
mysql>use mysql
重新插入新用户.
mysql>INSERT INTO `user` ( `Host` , `User` , `Password` , `Select_priv` , `Insert_priv` , `Update_priv` , `Delete_priv` , `Create_priv` , `Drop_priv` , `Reload_priv`
, `Shutdown_priv` , `Process_priv` , `File_priv` , `Grant_priv` , `References_priv` , `Index_priv` , `Alter_priv` , `Show_db_priv` , `Super_priv` , `Create_tmp_table_priv` ,
`Lock_tables_priv` , `Execute_priv` , `Repl_slave_priv` , `Repl_client_priv` , `ssl_type` , `ssl_cipher` , `x509_issuer` , `x509_subject` , `max_questions` , `max_updates` , `max_connections` )
VALUES (
'localhost', 'root', PASSWORD('newpassword') , 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'
, 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '
', '0', '0', '0'
);
使用户和密码立刻生效
mysql> FLUSH PRIVILEGES