mysql 是一款常用的关系型数据库管理系统,经常用于构建 web 应用程序和管理数据。在 mysql 中,root 用户是具有最高权限的用户,通常用于管理整个数据库。但在某些情况下,我们可能会忘记 root 用户的密码。本文将介绍一些常见的方式来重置 mysql 的 root 用户密码。
使用 mysqld_safe 启动 MySQL
如果你忘记了 root 用户的密码,第一个尝试的方法应该是使用 mysqld_safe 启动 MySQL 服务。该方法可以在不需要密码的情况下启动 MySQL 并且允许你修改 root 用户的密码。操作步骤如下:
首先,停止 MySQL 服务。
$ sudo systemctl stop mysql
然后,使用 mysqld_safe 启动 MySQL 服务,并指定 –skip-grant-tables。
$ sudo mysqld_safe –skip-grant-tables &
–skip-grant-tables 参数会让 MySQL 忽略掉访问控制表,这意味着任何人都可以连接到 MySQL 服务器,并具有 root 权限。正因为如此,你应该确保只有受信任的用户可以访问该服务器。
接着,在另一个终端窗口中连接到 MySQL 服务器。
$ mysql -u root
在 MySQL 提示符下,运行以下命令来修改 root 用户的密码。
mysql> UPDATE mysql.user SET authentication_string=PASSWORD(‘new_password’) WHERE User=’root’;
在这个命令中,将 new_password 替换成你的新密码。
最后,退出 MySQL 并重启 MySQL 服务。
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl start mysql
现在你可以使用新密码登录 root 用户了!
使用 mysql_secure_installation 脚本
如果你无法使用 mysqld_safe 启动 MySQL,还可以尝试使用 mysql_secure_installation 脚本来重置 root 用户的密码。该脚本可以快速地为 MySQL 进行一些设置,包括重置 root 用户的密码、删除匿名用户、禁用远程登录等。
首先,运行以下命令安装 mysql_secure_installation 脚本。
$ sudo apt-get update
$ sudo apt-get install mysql-server
喵记多
喵记多 – 自带助理的 AI 笔记
27 查看详情
安装完成后,你可以使用以下命令运行 mysql_secure_installation 脚本。
$ sudo mysql_secure_installation
运行过程中,你需要回答几个问题,包括设置 root 用户密码、删除匿名用户等。在设置密码时,即使你已经忘记了 root 用户的原始密码,也可以将其留空,然后选择设置一个新密码。完成所有设置后,你将可以使用新密码登录 root 用户。
使用 skip-grant-tables 参数启动 MySQL
如果以上两种方法都无法使用,最后的尝试就是使用 skip-grant-tables 参数启动 MySQL。虽然这种方法可以启动 MySQL,但会使数据库处于漏洞状态,因此不应该在生产环境中使用。
首先,找到 MySQL 的配置文件 my.cnf 或 my.ini。该文件中应该包含以下行:
[mysqld]
skip-grant-tables
如果该文件不存在,则可以创建一个新文件,将上述两行添加到文件中,并将其保存为 my.cnf 或 my.ini。
然后,使用以下命令重新启动 MySQL。
$ sudo systemctl restart mysql
重启后,你将可以以 root 用户身份登录 MySQL,而不需要输入密码。在 MySQL 提示符下,输入以下命令来修改 root 用户的密码。
mysql> UPDATE mysql.user SET authentication_string=PASSWORD(‘new_password’) WHERE User=’root’;
将 new_password 替换成你的新密码,然后退出 MySQL 并重启 MySQL 服务。
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl restart mysql
现在你可以使用新密码登录 root 用户了!
总结
忘记 MySQL root 用户密码是一个常见的问题,但有多种方法可以解决。大多数情况下,使用 mysqld_safe 或 mysql_secure_installation 脚本即可轻松重置密码。如果这些方法不起作用,使用 skip-grant-tables 参数启动 MySQL 可能是最后的尝试,但不建议在生产环境中使用。
以上就是mysql 忘记root 密码的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/336643.html
微信扫一扫
支付宝扫一扫