Xinu

Mysql忘记root密码解决办法
忘记mysql的root用户密码的解决办法方法一 --skip-grant-tables首先,关闭实例这里,只能通...
扫描右侧二维码阅读全文
13
2019/06

Mysql忘记root密码解决办法

忘记mysql的root用户密码的解决办法

方法一 --skip-grant-tables

首先,关闭实例

这里,只能通过kill mysqld进程的方式。

注意:不是mysqld_safe进程,也切忌使用kill -9。

复制代码

# ps -ef |grep mysqld
root      6220  6171  0 08:14 pts/0    00:00:00 /bin/sh bin/mysqld_safe --defaults-file=my.cnf
mysql      6347  6220  0 08:14 pts/0    00:00:01 /usr/local/mysql57/bin/mysqld --defaults-file=my.cnf --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=slowtech.err --pid-file=slowtech.pid --socket=/usr/local/mysql57/data/mysql.sock --port=3307
root      6418  6171  0 08:17 pts/0    00:00:00 grep --color=auto mysqld

# kill 6347

使用--skip-grant-tables参数,重启实例

# bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables  --skip-networking &

设置了该参数,则实例在启动过程中会跳过权限表的加载,这就意味着任何用户都能登录进来,并进行任何操作,相当不安全。

建议同时添加--skip-networking参数。其会让实例关闭监听端口,自然也就无法建立TCP连接,而只能通过本地socket进行连接。

MySQL8.0就是这么做的,在设置了--skip-grant-tables参数的同时会自动开启--skip-networking。

修改密码

  • 方法一 update
USE mysql;

UPDATE user 
SET password = PASSWORD('newpasswd')
WHERE user = 'dbadmin' AND 
      host = 'localhost';

FLUSH PRIVILEGES;

注意:注意:MySQL 5.7.6版本以下,才能使用此方法来修改密码。从MySQL 5.7.6版本起,user表仅使用authentication_string列代替之前版本中的password列来存储密码。

USE mysql;

UPDATE user 
SET password = PASSWORD('newpasswd')
WHERE user = 'dbadmin' AND 
      host = 'localhost';

FLUSH PRIVILEGES;
  • 方法二 set password
SET PASSWORD FOR 'dbadmin'@'localhost' = PASSWORD('newpasswd2');

注意
从MySQL 5.7.6版本开始,MySQL不推荐使用此语法,可能会在将来的版本中将其删除。作为一个代替的解决方案,它使用明文密码如下:

SET PASSWORD FOR 'dbadmin'@'localhost' = 'newpasswd2';
  • 方法三 alter user
ALTER USER dbadmin@localhost IDENTIFIED BY 'newpasswd3';

方法二 --init-file
首先关闭实例
创建sql文件,sql中的内容为修改密码的三种方式中的任意一种

vim init.sql
SET password for 'root'@'localhost'=password('123456');

启动mysql服务


mysqld_safe --defaults-file=/etc/my.cnf --init-file=/opt/nginx/html/default/init.sql &

实例启动成功,密码就修改完毕。

Last modification:June 13th, 2019 at 04:19 pm

Leave a Comment