mysql忘记root密码的解决办法(针对不同mysql版本) |
1.前提说明1.1 cmd 窗口打开方式cmd 命令窗口请以“管理员”身份打开运行,否则可能提示权限不足 。( 1.2 mysql 服务相关命令知识补充# 安装 mysql 服务 mysqld -install # 安装 mysql 服务并指定服务名称,格式:mysqld -install [ServiceName] # 如果不指定服务名,默认的服务名称为 mysql mysqld -install mysql80 # 移除 mysql 服务,格式:mysqld --remove [ServiceName] mysqld --remove mysql80 # 启动 mysql80 服务,格式:net start [ServiceName] net start mysql80 # 查看正在运行的所有服务 net start # 查看特定服务,通过字符串过滤完成,格式:net start | findstr [ServiceName] net start | findstr mysql80 # 停止 mysql80 服务,格式:net stop [ServiceName] net stop mysql80 1.3 三个 mysql 版本说明文章共给出三个 MySQL 阶段版本的忘记密码解决办法,分别是:
MySQL 有一个 5.7.6 分界线,是由于从 MySQL 5.7.6 版本开始, MySQL 5.7.6 官方文档原文: The column in the 1.4 运行时可能发生的报错问题如果严格按照我的步骤来,应当是不会报错的,但如果漏掉了某些步骤,可能会发生命令报错 。 跳过密码授权命令报错执行 这是由于没有执行我给的步骤 1“停止 MySQL 服务”,因此,在执行 修改密码时报错报错:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 这是由于没有关闭“跳过密码授权”窗口导致的,因此只需要关闭授权窗口即可 。 ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’这是由于关闭了 mysql 服务导致的,因此只需要通过 例如: net start mysql57 2.MySQL 5.7.6-(不包括 5.7.6)
打开 cmd,停止 MySQL 服务,格式: net stop mysql575 服务名称查找方式: 跳过密码授权 。 mysqld --console --skip-grant-tables --shared-memory 注意这个 打开一个新的 cmd 窗口,输入 清空密码 UPDATE mysql.user SET password=”” WHERE user=“root”; exit; 接着,一定要关闭“跳出密码授权”窗口,在新窗口启动 mysql 服务并进入 mysql 管理 。 # 1.启动 mysql 服务 。格式:net start [服务名称] net start mysql575 # 2.进入 mysql,无密码 mysql -uroot 修改密码并刷新权限 。 -- 1.修改密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); -- 2.刷新权限 flush privileges; -- 3.退出 exit; 再次登录 。 mysql -uroot -p123456 3.MySQL 5.7.6+(包括 5.7.6)
打开 cmd,停止 MySQL 服务,格式: net stop mysql57 服务名称查找方式: 跳过密码授权 。 mysqld --console --skip-grant-tables --shared-memory 注意这个 打开一个新的 cmd 窗口,输入 清空密码 UPDATE mysql.user SET authentication_string=”” WHERE user=“root”; exit; 接着,一定要关闭“跳出密码授权”窗口,在新窗口启动 mysql 服务并进入 mysql 管理 。 # 1.启动 mysql 服务 。格式:net start [服务名称] net start mysql57 # 2.进入 mysql,无密码 mysql -uroot 修改密码并刷新权限 。 -- 1.修改密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456"; -- 2.刷新权限 flush privileges; -- 3.退出 exit; 再次登录 。 mysql -uroot -p123456 4.MySQL 8.0打开 cmd,停止 MySQL 服务,格式: net stop mysql80 服务名称查找方式: 跳过密码授权 。 mysqld --console --skip-grant-tables --shared-memory 注意这个 打开一个新的 cmd 窗口,输入 清空密码 UPDATE mysql.user SET authentication_string=”” WHERE user=“root”; exit; 接着,一定要关闭“跳出密码授权”窗口,在新窗口启动 mysql 服务并进入 mysql 管理 。 # 1.启动 mysql 服务 。格式:net start [服务名称] net start mysql80 # 2.进入 mysql,无密码 mysql -uroot 修改密码并刷新权限 。 -- 1.修改密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456"; -- 2.刷新权限 flush privileges; -- 3.退出 exit; 再次登录 。 mysql -uroot -p123456 以上就是mysql忘记root密码的解决办法(针对不同mysql版本)的详细内容,更多关于mysql忘记root密码的资料请关注其它相关文章! |