目录
?
????????当出现忘记root用户密码的情况时,如果此时有其他用户拥有系统库mysql的user表的UPDATE权限,可以由其他用户通过SET语句修改root用户密码。但是如果遇到一种特殊情况,此时没有其他用户,或者其他用户没有系统库mysql的user表的UPDATE权限,也没有GRANT(给用户授权)的权限,那么怎么处理呢?操作步骤如下:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
例如在D盘根目录下新建一个文本文件“root_newpass.txt”,文件内容就上面一条语句。
mysqld --defaults-file="D:\ProgramFiles\MySQL\MySQLServer8.0_Data\my.ini" --init-file="d:\root_newpass.txt"
注意:my.ini文件的路径看你自己的安装路径,找数据目录
上面命令意思就是初始化启动一次数据库,并运行这个修改密码的文件。效果演示如下:
上面的命令执行后,就像卡住了一样,这就是启动MySQL服务了。
在命令行可以使用mysqladmin命令修改用户密码,命令格式如下:
mysqladmin -u 用户名 -h 主机名 -p password "新密码"
Enter password:输入旧密码
例如:“root”用户登录后,修改用户名为“Nuyoah”,主机名为“localhost”的用户的密码为“123321”。
SET PASSWORD FOR 'shangguigu1'@'localhost' = '新密码';