MySQL忘记密码的解决方法

MySQL忘记密码的解决方法

修改的用户都以root为列。

一、拥有原来的myql的root的密码;

方法一:

在mysql系统外,使用mysqladmin

# mysqladmin -u root -p password "test123"

Enter password: 【输入原来的密码】


方法二:

通过登录mysql系统,

# mysql -uroot -p

Enter password: 【输入原来的密码】

mysql>use mysql;

mysql> update user set password=passworD("test") where user='root';

mysql> flush privileges;

mysql> exit;

二、忘记原来的myql的root的密码

首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。

类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:

/etc/init.d/mysqld status

mysqld dead but subsys locked 

 这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样

/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。

# mysqld_safe --skip-grant-tables &

&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。

# mysql

mysql> use mysql;

mysql> UPDATE user SET password=password("test123") WHERE user='root';

mysql> flush privileges;

mysql> exit;

##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

三、MySQL5.7更改密码时出现:ERROR 1054 (42S22): Unknown column 'password' in 'field list'

新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入:

update mysql.user set password=password('root') where user='root'

提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了

authentication_string

所以更改语句替换为:

update mysql.user set authentication_string=password('root') where user='root' ;

 

posted @ 2018-11-12 14:14  何宇泽  阅读(345)  评论(1编辑  收藏  举报