在windows下:
打开命令行窗口,停止mysql服务:Net stop mysql
到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动,在命令行窗口执行:mysqld-nt --skip-grant-tables
然后另外打开一个命入令行窗口,执行mysql,此时无需输入密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
>exit
使用任务管理器,找到mysqld-nt的进程,结束进程!
在重新启动mysql-nt服务,就可以用新密码登录了。
在linux下:
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。
**************************************************************************************
mysql忘记root密码的解决
如果忘记了MySQL的root密码,可以用以下方法重新设置:
1. KILL掉系统里的MySQL进程(千万不敢用下面的方式关闭,你会发现你的数据表损坏);
killall -TERM mysqld(错误)
service mysql stop(正确)
2. 用以下命令启动MySQL,以不检查权限的方式启动;
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
3. 然后用空密码方式使用root用户登录 MySQL;
/usr/local/mysql/bin/mysql -uroot -p
4. 修改root用户的密码;
mysql> update mysql.user set password=password("123456") where user="root";
mysql> flush privileges;
mysql> quit
5. 以正常模式启动mysql
service mysql stop
service mysql start
重新启动MySQL后,就可以使用新密码登录了。