2019独角兽企业重金招聘Python工程师标准>>>

先提个问题:如何不重启mysqld,且没有权限修改用户账号和权限的情况下,如何重新设置root密码?不知道没关系,在此之前我也是不知道如何操作的,先看看下面的几种重置root密码的方法。

1、skip-grant-tables

我们常用的方法是使用skip-grant-tables选项,mysqld server启动之后并不使用权限系统(privilege system)。用户不需要任何账号、不受任何限制的访问数据库中所有数据。为了安全起见,通常加上skip-networking,mysqld不侦听任何TCP/IP连接请求。操作过程如下,

1)修改my.cnf配置文件,在mysqld选项中添加skip-grant-tables和skip-networking。

2)再重启mysqld server。

3)通过sql语句修改mysql.user表中存储密码。执行flush privileges,重新启用mysql权限系统。

UPDATE mysql.user SET password=PASSWORD('newpwd')WHERE user='root';FLUSH PRIVILEGES;

4)删除或者注释配置文件中skip-grant-tables和skip-networking的参数选项。如果使用skip-networking,则需要再次重启mysqld。因为skip-networking不是系统变量,只是mysqld的参数选项,而不能通过系统变量动态进行设置。如果没有适用skip-networking,只需要执行flush privileges就可以使权限系统重新生效。

2. --init-file

mysqld_safe可以使–init-file参数选项来执行重新设定密码的sql语句。

1)新建一个初始化文件,如/tmp/initfile,文件内容为上面修改密码的sql语句。

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';FLUSH PRIVILEGES;

2)关闭mysqld服务进程。

3)使用mysqld_safe启动mysqld;

mysqld_safe --init-file=/home/me/mysql-init &

上面的两种方法是在忘记root密码情况下重新设置密码的方法,可以发现都需要重启mysqld服务。很多人都是使用第一种进行重置root密码,但是比较推荐的做法反而是第二种,即安全有快捷简单。

3、不重启mysqld的方法

1、首先得有一个可以拥有修改权限的mysql数据库账号,当前的mysql实例账号(较低权限的账号,比如可以修改test数据库)或者其他相同版本实例的账号。把data/mysql目录下面的user表相关的文件复制到data/test目录下面。

[root@localhost mysql]# cp mysql/user.* test/[root@localhost mysql]# chown mysql.mysql test/user.*

2、使用另一个较低权限的账号链接数据库,设置test数据库中的user存储的密码数据。

[root@localhost mysql]# mysql -utest -p12345
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.25a-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> update user set password=password('yayun') where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5  Changed: 0  Warnings: 0mysql>

3、把修改后的user.MYD和user.MYI复制到mysql目录下,记得备份之前的文件。

mv mysql/user.MYD mysql/user.MYD.bak
mv mysql/user.MYI mysql/user.MYI.bak
cp test/user.MY* mysql/
chown mysql.mysql mysql/user.*

4、查找mysql进程号,并且发送SIGHUP信号,重新加载权限表。

[root@localhost mysql]# pgrep -n mysql
2184
[root@localhost mysql]#[root@localhost mysql]# kill -SIGHUP 2184

5.登陆测试

[root@localhost mysql]# mysql -uroot -pyayun
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.5.25a-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

转载于:https://my.oschina.net/u/3023401/blog/2248130

MySQL忘记root密码--不重启mysqd重置root密码相关推荐

  1. 如何在MySQL中导入和导出数据库并重置root密码

    英文原作者:Etel Sverdlov  翻译&转载来源:https://www.digitalocean.com/community/tutorials/how-to-import-and- ...

  2. MySql忘记密码,本地服务重置新密码

    文章目录 1.停掉MySql服务 2.跳过密码授权登录 3.重置密码 4.其他方法,针对unix 异常情况 1.停掉MySql服务 2.跳过密码授权登录 (1)MySql8.0版本 windows管理 ...

  3. openwrt mysql改密码_openwrt的路由器重置root密码

    openwrt的路由器重置root密码 家里路由器刷了openwrt,结果长期没登录,忘了root密码. 很容易就找到了这里介绍的办法  http://www.openwrt.org.cn/bbs/t ...

  4. 密码破解之Esxi重置root密码

    描述:     当你忘记了Esxi的root密码,而且这台主机又没有加入vcenter中.怎么办?     下面我们来重置root密码,但要保留里面的虚机数据. 准备:     一个Esxi的光盘.我 ...

  5. 联想服务器重置ipmi密码,超微主板重置IPMI密码

    换了超微的服务器主板,因为是二手的板子,IPMI密码不知,默认ADMIN/ADMIN不对,进不去.在主板BIOS中只找到了IP地址的相关设置,没能找到密码以及用户名的相关设置.经百度发现:超微主板官方 ...

  6. Linux-CentOS 重置root密码

    在使用Linux的过程中有时候会遗失root用户密码,这时我们就可以进入单用户模式来重置root用户密码,下面讲解重置root密码的方式,也是破解root密码的方法. 1. 重启服务器,在读秒的时候按 ...

  7. 钥匙串密码忘记了怎么办?如何在Mac上重置钥匙串密码

    在Mac上重置钥匙串访问权限可能会使某些用户感到困惑.原因是登录到Mac的钥匙串密码和用户帐户密码可能不同.根据用户的要求,我们决定编写一份详细指南,说明如果忘记了如何重置Apple钥匙串. 什么是钥 ...

  8. windows忘记本地pg数据库密码,修改本地pg数据库密码

    PostGreSql工作笔记004-PostGreSql修改密码_windows和linux下修改 一.修改pg的配置文件,重启数据库服务,免密登陆数据库 1.编辑修改文件 pg_hba.conf I ...

  9. 超微主板重置IPMI密码 Windows系统

    @[超微主板重置IPMI密码] 超微主板重置IPMI密码 Windows系统 在超微官网下载IPMICFG工具,下载链接:https://www.supermicro.com/SwDownload/S ...

最新文章

  1. Python虚拟环境pyenv、venv(pyvenv)、virtualenv之间的区别,终于搞清楚了!
  2. [Oracle]理解undo表空间
  3. 五万字 Linux 知识点深度解析,学完每个人都是高手
  4. 学习腾讯的产品管理之道
  5. SAP CRM WebClient UI点了产品主数据搜索结果超链接后的跳转调试
  6. 2017蓝桥c语言真题,[蓝桥杯][2017年第八届真题]发现环 (C语言代码)------------C语言——菜鸟级...
  7. 在 Snoop 中使用 PowerShell 脚本进行更高级的 UI 调试
  8. 安卓手机 服务器 性能,鲁大师Q3安卓手机性能榜发布:华为Mate30 Pro第三 这款手机称王...
  9. VBA InStr 函数
  10. 避坑11_VScode在vue文件内template无法使用tab补齐标签
  11. 通俗解释「什么是云计算」
  12. JAVA根据年月查询当月的天数
  13. android极光推送 消息穿透广告弹窗,极光推送弹出两次消息,请大佬们帮忙指点迷津...
  14. mini《猜字》游戏,谁玩谁迷糊
  15. 超微服务器怎么开虚拟化,超微6016TT-IBXF服务器Supermicro开启虚拟化支持
  16. 两用物项许可证办理流程_办理两用物项和技术进口许可证流程
  17. 使用计算机室刷卡上机,浅析高校计算机实验室综合信息管理系统
  18. MIMIC IV数据库安装(二)
  19. 互联网P2P优化管理标准体系研讨会召开
  20. 学习C++ 实践者之路

热门文章

  1. python【第十四篇】HTML基础
  2. 算法_栈的Java的通用数组实现
  3. jquery怎么创建一个img标签
  4. linux 必知命令
  5. centos7+mysql5.7二进制安装
  6. 传感器市场需求大幅提升 中企能否满足?
  7. windows下利用批处理命令生成maven项目(java、javaWeb)
  8. centos 之7zip
  9. 9月8日全球域名商(国际域名)解析新增量TOP20
  10. 商业智能bi能带来什么价值