忘记mysql密码解决办法

By | 2010/10/18

新的blog在本地运行几天之后,觉得比较完美了,于是上线。
上传程序,转移数据库,囧,不知道数据库的密码,怎么也忘记自己在配置数据库的时候密码是多少了,常用密码尝试一圈,竟然没有一个对的。十分怀疑使用的mysql安装脚本有问题,导致输入了一个错误的密码。

网络上转悠下,找到解决方法,如下:

1.暂停mysql服务

方法很多,下面给出几种方式,大家可以选择适合自己的:

  • service mysql stop
  • /etc/init.d/mysql stop
  • killall -TERM mysqld

2.使mysql在不验证权限的情况下运行

/usr/bin/mysqld-safe  –skip-grant-tables

mysql的安装目录各不相同,大家根据自己的情况修改。后面的参数就是让mysql运行的时候不再进行权限判断,这样我们就可以不用输入密码进入数据库了。

ps:我用的是centos,通过ssh远程控制,运行了上面的命令后,会进入一种输入模式中,输入任意字符只是回显,无法再进入下一步的操作。网上的教程一般是直接进入的mysql的>操作符,如果出现我这样的情况,可以重新开一个ssh的连接。

3.连接mysql数据库修改密码

mysql -u root    //直接登录数据库
mysql>use mysql;      //进入mysql数据库
mysql> select host,user,password from user;   //先查看一下用户的情况
mysql> update user set password=password('123') where user='root';      //修改root用户的密码
mysql> flush privileges;  //刷新系统权限

4.重启mysql
使用1的办法停止mysql后,service mysql start,mysql服务跑起来,使用新的密码登录就行了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据