MySQL8.0.12重置root密码

MySQL8.0.12重置root密码

 

在安装完数据库后,因为本身不当心直接关闭了安装窗口,或者长时间没有使用root用户登陆系统,致使忘记了root密码,这时就须要重置MySQL的root密码。固然,最简单方式天然是删除数据库的data目录,而后从新安装数据库。可是不少时间咱们须要保留data目录中的数据,因此就须要查找如何重置root密码。html

咱们知道,在知道root密码时,能够使用“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”指令来修改root用户的密码,以下图: 
 
只须要这一行指令就完成了对root密码的重新设置,无需其余操做,十分的简单。 
可是,若是忘记了root密码,又该如何重置呢?根据官方文档的描述,Windows系统下有两种方法能够修改密码,官方文档请参考:https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html 
方案一:执行初始化文件 
步骤1:使用管理权限的帐户登陆系统; 
步骤2:中止MySQL的服务,无论用什么方法,必须让它停下来,以下图: 
 
步骤3:建立一个文件mysql-init.txt,里面写着修改密码的指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”,而后将文件保存,如图所示: 
 
步骤4:在终端界面中,进入到MySQL安装的bin目录下: 
 
步骤5:在bin目录下,执行mysqld,并指定刚才建立的mysql-ini.txt做为初始化文件,使用指令为“mysqld –defaults-file=”D:\Programs\MySQL\MySQL-8.0.12-winx64\my.ini” –init-file=”D:\Programs\MySQL\mysql-ini.txt””,其中,–defaults-file指定的是配置文件,–init-file指定的是初始化执行的文件,以下图所示: 

按回车键以后,不要关闭终端,须要再打开一个终端,来确认密码修改是否成功: 
 
很明显,登录成功了,修改密码方式正确! 
固然,如果真的关闭了终端,也能够使用“net start MySQL”的指令方式启动MySQL,而后再进行验证: 
 
步骤6:删除建立的mysql-ini.txt文件,固然,不删除也是能够的!mysql

方案二:使用登陆时跳过验证的方式重置root密码 
步骤1:先关闭MySQL服务,而后使用“–skip-grant-tables”配置项,跳过权限验证方式重启MySQL服务: 
 
这里使用的指令是“mysqld –shared-memory –skip-grant-tables”,如果只是“mysqld –skip-grant-tables”的话,会致使mysqld启动失败,提示“TCP/IP, –shared-memory, or –named-pipe should be configured on NT OS”错误。通过测试,只有加上“–shared-memory”才能启动、访问数据库。 
步骤2:在打开一个终端,在里面使用免密的方式登录数据库,直接运行mysql便可: 
 
步骤3:首先刷新执行指令“FLUSH PRIVILEGES;”,刷新权限: 
 
而后执行指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_psd_123’;”进行密码更新操做,“new_psd_123”便是设置的新密码: 
 
设置完成后,正常启动MySQL服务,使用用户名密码进行验证是否设置成功! 
sql

相关文章
相关标签/搜索