技术文摘
忘记Linux系统下MySQL的密码
忘记Linux系统下MySQL的密码
在Linux环境中使用MySQL时,忘记密码是一个常见问题。不过不用担心,通过一些简单的步骤,就能重新获取对数据库的访问权限。
需要以安全模式启动MySQL服务。不同的Linux发行版,操作方式略有不同。对于使用systemd的发行版,如CentOS 7、Ubuntu 18.04等,可以使用以下命令:sudo systemctl stop mysqld 来停止MySQL服务。接着,使用 sudo mysqld_safe --skip-grant-tables & 命令以跳过授权表的方式启动MySQL。这一步的目的是绕过密码验证机制,让我们能够直接进入数据库进行密码重置操作。
进入MySQL命令行界面。在终端中输入 mysql 命令,此时无需密码即可成功进入。进入MySQL后,我们需要切换到 mysql 系统数据库,使用命令 use mysql;。这个数据库存储了MySQL的用户账户和权限信息。
接下来就是重置密码。在MySQL 8.0及以上版本中,用户密码存储在 user 表的 authentication_string 字段中;而在MySQL 5.7及以下版本中,密码存储在 password 字段。假设要重置的用户是 root,可以使用如下命令(以MySQL 8.0为例):UPDATE user SET authentication_string=PASSWORD('新密码') WHERE user='root' AND host='localhost';。将 新密码 替换为你想要设置的新密码。
完成密码更新后,需要刷新权限,使更改立即生效。使用命令 FLUSH PRIVILEGES;。之后,使用 exit 命令退出MySQL命令行。
最后,要将MySQL服务恢复到正常模式运行。先使用 sudo pkill mysqld 命令停止当前以安全模式运行的MySQL进程,再使用 sudo systemctl start mysqld 命令启动MySQL服务。此时,就可以使用新设置的密码登录MySQL了。
忘记Linux系统下MySQL的密码虽然会带来一些困扰,但只要按照上述步骤操作,就能顺利解决问题,确保数据库的正常使用。为避免类似情况再次发生,建议设置容易记忆且安全的密码,并做好密码备份工作。
- 一文助你精通 PHP 常见文件操作
- Laravel 事件系统助力浏览量统计的实现
- JavaScript 与 PHP 完成视频文件分片上传的示例代码
- PHP WebSocket 技术解析及使用指南精解
- 在 Laravel 中创建和提供 Zip 压缩文件下载
- 解决 ThinkPHP 跨域报错的办法
- JavaScript 全选与反选功能的实现
- PHP 借助 imap_open 读取 QQ 邮箱
- 利用 PHP 与 Redis 达成分布式锁的实现
- PHP5.2.x 至 PHP8.0.x 版本升级的新增特性
- PDF.js 前端开发的代码示例与实用技巧
- Vue.js 简易拖拽指令的实现
- Nginx、ThinkPHP 与 Vue 跨域问题解决方法全解析
- React Umi 的国际化配置之道
- ThinkPHP 中泛域名部署的实现途径