MySQL修改、忘记root密码(8.0版本)

关于MySQL8.0以上版本更改root密码的问题,传统的更新方法可能不再适用,例如更新用户表的方法不再适用。
原因是8.0之后的版本实施了安全策略变更。

解决该问题的步骤如下:

首先,确保MySQL服务已停止。
以管理员权限打开命令提示符,进入MySQL安装目录,执行以下命令:打开此命令行窗口,以管理员权限打开新的命令提示符并输入:

该操作可以让你无需登录MySQL即可一个密码。

接下来修改root用户的密码,并将其设置为默认值(如:123456):

完成密码更改后,关闭所有命令行窗口并重新启动。
进入MySQL服务不需要密码。

另外,如果您想轻松更改现有用户密码,可以尝试:

mysql8.0.12如何重置root密码

在安装数据库的时候,因为安装窗口不小心直接关闭了,或者是长时间没有打开root用户账号,导致忘记了root密码。
当然,最简单的方法就是删除数据库目录,然后恢复数据库。
但很多时候我们需要保留数据列表中的数据,那么我们就不得不问如何重置root密码。
我们知道,当你知道root密码后,可以使用“ALTERUSER'root'@'Localhost'IDENTIFIEDBY'NewPassword”来更改root用户的密码,如下所示:只需要这个命令行即可完成root密码重置其他操作也很简单,但是如果忘记了root密码,如何重置呢?根据官方文档,有两种方法可以在Windows下更改密码。
官方文档请参考具有管理权限的账户“ALTERUSER'root'@'localhost'IDENTIFIEDBY'新密码';”,然后如图所示保存文件:第四步:在终端中界面,进入MySQLDirectory安装的bin:第五步:在presulbin中,运行mysqld,指定刚才创建的Mysql-ini.txt作为初始化文件,命令为“mysqld_defaults-file=”D:\ProgramFiles\MySQL\MySQL-8.0.12-winx64\my.ini"_init-file="D:\Programs\MySQL\mysql-ini.txt"",其中default-file是配置文件指定,init文件指定初始化执行的文件,如下图:按回车键后,并没有关闭终端;需要再次打开终端确认密码修改是否成功:显然,登录成功,密码修改系统正确!当然,如果真的关闭终端,也可以使用命令“netstartMySQL”来启动MySQL,然后会进行验证:第六步:删除创建的mysql-ini.txt。
当然,你不能删除它!方案二:使用绕过登录验证的方法重置root密码。
注意:这里使用的命令是“mysqld_shared-memory_skip-grant-tables”,如果只是“mysqld_skip-dont-tables”,mysqld不会启动,提示“TCP/IP,_shared-memory”或“name-pipesh”configuredonNTOS”错误测试完成后,可以进入并访问“_memory”数据库。
第二步:打开终端,使用Passwordfree方式登录数据库,直接运行mysql:/p>第三步:先执行命令“FLUSHPRIVEL”,重置权限,然后执行命令“ALTERUSER'root'@'“Localhost'IDENTIFIEDBY'new_psd_123”;“new_psd_123”是新设置的密码,完成更新:设置完成后,MySQL服务将正常启动,并使用用户和密码验证设置是否成功!

WindowsMySQL8.0误改root密码、主机修改方法

当Windows系统中的MySQL8.0误更改root密码或者需要修改主机设置时,可以按照以下步骤操作:首先通过控制面板的服务管理(services.msc)或者命令停止MySQL80服务确保线路安全运行。

接下来,备份重要文件,例如C:\ProgramData\MySQL\MySQLServer8.0中的my.ini文件,并复制一份以防万一。
使用管理员权限打开my.ini文件。
建议使用写字板或者第三方编辑器,避免记事本可能导致的编码问题,影响MySQL的启动。
在my.ini的[mysqld]部分中,添加必要的配置更改,然后保存文件。
配置完成后,重启MySQL80服务,以管理员身份运行C:\ProgramFiles\MySQL\MySQLServer8.0\bin下的连接命令,但跳过密码验证。
验证连接成功后,执行相应命令更改密码、主机名或用户名(记得添加flushprivileges;执行后命令刷新权限)。
最后,为了确保更改生效,可以在my.ini中注释或删除原来的配置,然后再次重新启动MySQL80服务来完成整个修改过程。