MySQL root@localhost 用户恢复权限和密码流程

MySQL root 用户恢复权限和密码流程

背景
版本mysql5.7

在 MySQL 使用 --skip-grant-tables 启动模式时,权限表被跳过,导致用户无法执行权限相关操作。为了恢复 root 用户的权限,我们需要手动修复 MySQL 用户表并恢复正常模式。


步骤 1:使用 --skip-grant-tables 启动 MySQL

  1. 停止 MySQL 服务: 首先,停止 MySQL 服务。此步骤可以确保 MySQL 不会自动重新启动并且不会使用授权表。
    pkill -f -- --skip-grant-tables
  2. 以跳过权限表模式启动 MySQL: 以跳过权限表模式启动 MySQL,允许你在没有权限检查的情况下访问 MySQl
    sudo -u mysql /usr/sbin/mysqld --skip-grant-tables --skip-networking &

步骤 2:更新 root 用户的密码

在此模式下,你可以直接更新用户的密码。首先,登录到 MySQL:

然后,执行以下 SQL 来更新 root 用户的密码(此处使用 root 用户和 localhost 主机名):

UPDATE mysql.user SET authentication_string = PASSWORD('Ww265325') WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;
  • FLUSH PRIVILEGES:刷新权限,确保修改生效。

步骤 3:恢复 root 用户的权限

由于在跳过权限模式下,root 用户的权限未完全生效,我们需要手动修复权限:

UPDATE mysql.user SET Select_priv = 'Y', Insert_priv = 'Y', Update_priv = 'Y', Delete_priv = 'Y', 
Create_priv = 'Y', Drop_priv = 'Y', Reload_priv = 'Y', Shutdown_priv = 'Y',
Process_priv = 'Y', File_priv = 'Y', Grant_priv = 'Y', References_priv = 'Y',
Index_priv = 'Y', Alter_priv = 'Y', Show_db_priv = 'Y', Super_priv = 'Y',
Create_tmp_table_priv = 'Y', Lock_tables_priv = 'Y', Execute_priv = 'Y',
Repl_slave_priv = 'Y', Repl_client_priv = 'Y', Create_view_priv = 'Y',
Show_view_priv = 'Y', Create_routine_priv = 'Y', Alter_routine_priv = 'Y',
Create_user_priv = 'Y', Event_priv = 'Y', Trigger_priv = 'Y', Create_tablespace_priv = 'Y'
WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;
  • 这条语句为 root 用户在 localhost 上赋予了所有常用权限。

步骤 4:关闭跳过权限模式并重新启动 MySQL

  1. 停止跳过权限模式: 停止当前 MySQL 进程,恢复正常的权限表:
    pkill -f -- --skip-grant-tables
  2. 重新启动 MySQL 服务: 使用系统服务重新启动 MySQL:
    systemctl start mysqld

步骤 5:验证

最后,验证 root 用户是否已恢复正常权限并能够登录。

mysql -u root -p

输入你在步骤 2 中设置的密码 Ww265325,应该能够成功登录并且可以正常执行命令。


总结

  1. 使用 --skip-grant-tables 启动 MySQL,跳过权限检查。
  2. 在 MySQL 中直接更新 root 用户的密码。
  3. 手动修复 root 用户的权限,确保其具有所有必要的权限。
  4. 关闭跳过权限模式,重新启动 MySQL 服务。
  5. 测试 root 用户是否可以正常登录并拥有足够权限。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       赣ICP备2025061060号 |       版权所有 © 2025 鸣乐庐    
      网站访问次数:41,738 次
正在获取您的IP和天气信息...