我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql忘记密码真的需要重启服务吗?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql忘记密码真的需要重启服务吗?

先提个问题:如何不重启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('newpassword') 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('newpassword') where user='root';

flush privileges;

2)关闭mysqld服务进程。

3)使用mysqld_safe启动mysqld;

mysqld_safe --init-file=/tmp/initfile &

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

 

3、不重启mysqld的方法

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

mv mysql/user.* test/
chown mysql:mysql test/user.*

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

[root@xiaoya test]# mysql -utest -ptest
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.31-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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.
(product)test@localhost [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)
(product)test@localhost [(none)]> update test.user set password=password(123456) where user='root';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    6
Current database: *** NONE ***
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
(product)test@localhost [(none)]> select user,host from test.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | localhost |
| test | localhost |
+------+-----------+
2 rows in set (0.00 sec)
(product)test@localhost [(none)]> quit
Bye

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

mv test/user.* ../mysql/
chown mysql:mysql test/user.*

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

[root@xiaoya mysql]# pgrep -n mysql

19764

[root@xiaoya mysql]# kill -SIGHUP 19764

5.登陆测试

[root@xiaoya mysql]# mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.31-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, 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.
(product)root@localhost [(none)]> quit
Bye

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql忘记密码真的需要重启服务吗?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

阿里云服务器改密码需要重启吗

首先,请确保您已经在您的云服务器上创建了正确的用户名和密码。如果您在之前的云服务器上没有创建过用户名和密码,那么在重置密码之前,您需要先创建一个新的用户名和密码。您可以使用您之前云服务器上创建的用户名和密码来登录您的阿里云帐户,但是您需要确保新的用户名和密码与您之前的云服务器上的用户名和密码保持一致。其次,在创建密码之
2023-10-27

阿里云服务器修改密码需要重启吗

如果您的阿里云服务器密码需要重新设置,您需要在控制台中进行相应的修改。以下是几种可能需要进行的步骤:打开控制台(如C:\Data\Terminal):按下回车键,选择“编辑”菜单中的“重置密码”命令,这将要求您输入正确的阿里云服务器密码。在重置密码过程中,您将重新加密该数据库,以确保其不会被其他人访问。选择“安全性设置”选项卡:在该选项卡中,您将进入“重置密码”的主界面。您可以选择在登录密
2023-10-26

阿里云服务器修改密码需要重启吗安全吗

如果您的阿里云服务器密码需要重置,请按照以下步骤进行操作:首先在您的计算机上安装阿里云的客户端(阿里云AppStore或阿里云Web平台)。打开阿里云客户端,选择“设置”或“安全”。在设置页面中选择“登录选项”,然后选择一个您想要启用的身份验证方式,如手机短信验证或AES加密等。根据您的需要选择正确的身份验证方式。如果您是企业和组织,需要选择员工账户,如果您是个人用户则可以选择自定义账
2023-10-26

ANDROID重启服务需要密码怎么解决

如果您忘记了重启服务的密码,可以尝试以下方法:1. 尝试使用默认密码:有些设备或软件的默认密码是“admin”、“123456”等,您可以尝试使用这些密码进行登录。2. 重置密码:如果您有管理员权限,可以尝试重置密码。具体方法取决于您使用的
2023-06-09

阿里云服务器修改密码需要重启吗安全吗苹果

阿里云服务器修改密码不需要重启,但是建议在修改密码后重启服务器以确保密码生效。此外,修改密码是一种基本的安全措施,可以帮助保护服务器免受未经授权的访问。因此,建议定期更改密码,并确保密码强度足够高,包括使用大写字母、小写字母、数字和特殊字符的组合。关于苹果,这个问题与苹果无关,因为阿里云服务器是一种云计算服务,与操作系统无关。
2023-10-27

云服务器需要重启吗手机怎么操作的

重启云服务器可以确保手机的正常访问,因此,在手机出现故障时,重启云服务器也是一个很好的解决方案。在手机重启之前,需要先关闭手机的通知功能,避免手机收到来自云服务器的通知信息。在重启手机之前,需要备份手机上的重要数据,以便重启手机后可以恢复数据。以下是重启云服务器的步骤:下载云服务器的安装包,可以通过手机浏览器下载。打开
云服务器需要重启吗手机怎么操作的
2023-10-28

云服务器需要重启吗手机怎么弄的呢

通过应用程序控制台来重启应用程序在手机上,可以通过应用程序控制台来重启应用程序。首先,您需要在手机的“设置”菜单中找到“应用程序”选项。在应用程序界面中,您可以看到所有安装了的应用程序,选择需要重启的应用程序,然后点击“重新启动”按钮。此时,应用程序会重新启动,并在后台运行。当应用程序重新启动后,它会清除所有的缓存数据
云服务器需要重启吗手机怎么弄的呢
2023-10-28

云服务器需要重启吗手机怎么操作的呢

重启云服务器首先,您需要确保您的云服务器处于开启状态,可以通过控制面板中的“管理您的服务器”或“设置控制面板”来实现。在控制面板中,您可以选择重启云服务器,按照提示进行操作即可。重启云服务器之后,您需要进行配置云服务器的重启。在重启云服务器之后,您需要进行配置云服务器的重启,包括设置服务器的启动顺序、配置服务级别、配置
云服务器需要重启吗手机怎么操作的呢
2023-10-27

云服务器需要重启吗手机怎么弄出来的

首先,要想在手机上设置云服务器的自动重启功能,需要确保手机上的网络状况良好,否则可能会影响到云服务器的正常运行。在设置云服务器的过程中,我们需要打开网络和流量监控功能,以便了解当前网络流量的使用情况,并可以在出现问题时及时解决。其次,要想实现云服务器的自动重启,需要先在手机上安装云服务器管理软件,并确保软件具有自动重启
云服务器需要重启吗手机怎么弄出来的
2023-10-28

云服务器需要网络吗手机怎么设置的密码

在设置云服务器密码时,您需要确保您的帐户信息和登录信息是明确且唯一的。这些信息可以在云服务器的控制面板或者控制台窗口中找到。在这里,您可以通过创建密码来保护您的云服务器帐户,并且在需要时可以更改密码。另外,如果您想使用云服务器提供商提供的密码,您需要确保该密码是强密码,并且只能由您自己使用。强密码通常包含大写字母、小写
2023-10-27

编程热搜

目录