如何在 Linux 中重置 MySQL 或者 MariaDB 的 root 密码
2023-09-11 14:16:09 时间
如果你是第一次设置 MySQL 或 MariaDB 数据库,你可以直接运行 mysql_secure_installation 来实现基本的安全设置。
其中一项是设置数据库 root 帐户的密码 - 你必须保持私密,并仅在绝对需要时使用。如果你忘记了密码或需要重置密码(例如,当数据库管理员换人或被裁员!),这篇文章会派上用场。我们将解释如何在 Linux 中重置或恢复 MySQL 或 MariaDB 的 root 密码。
建议阅读: 更改 MySQL 或 MariaDB 的 root 密码。
虽然我们将在本文中使用 MariaDB,但这些说明同样也适用于 MySQL。
恢复 MySQL 或者 MariaDB 的 root 密码开始之前,先停止数据库服务并检查服务状态,我们应该可以看到先前设置的环境变量:
------------- SystemD ------------- # systemctl stop mariadb ------------- SysVinit ------------- # /etc/init.d/mysqld stop
接下来,用 --skip-grant-tables 选项启动服务:
------------- SystemD ------------- # systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" # systemctl start mariadb # systemctl status mariadb ------------- SysVinit ------------- # mysqld_safe --skip-grant-tables
使用 skip tables 启动 MySQL/MariaDB
这可以让你不用 root 密码就能连接到数据库(你也许需要切换到另外一个终端上):
# mysql -u root
接下来,按照下面列出的步骤来。
MariaDB [(none)] USE mysql; MariaDB [(none)] UPDATE user SET password=PASSWORD(YourNewPasswordHere) WHERE User=root AND Host = localhost; MariaDB [(none)] FLUSH PRIVILEGES;
最后,停止服务,取消环境变量设置并再次启动服务:
------------- SystemD ------------- # systemctl stop mariadb # systemctl unset-environment MYSQLD_OPTS # systemctl start mariadb ------------- SysVinit ------------- # /etc/init.d/mysql stop # /etc/init.d/mysql start
这可以让先前的改变生效,允许你使用新的密码连接到数据库。
原文发布时间为:2017-03-17
本文来自云栖社区合作伙伴“Linux中国”
相关文章
- 【Mysql 学习】mysqld_safe:MySQL服务器启动脚本
- Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
- Linux - mysql 异常:登录不上mysql数据库
- linux - mysql - 新建用户
- mysql第二天 锁
- mysql修改表结构
- 重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- linux安装mysql详细步骤
- MYSQL随机抽取查询 MySQL Order By Rand()效率问题
- Mysql索引数据结构有多个选择,为什么一定要是B+树呢?_面试 (MySQL 索引为啥要选择 B+ 树)
- Mysql 如果有多个可选条件怎么加索引_MySQL|mysql-索引
- MYsql 数据库密码忘记(Window)-2(mysql 5.7)
- linux -安装mysql,配置密码,开启远程访问
- MySQL Study之--Mysql无法启动“mysql.host”
- MySQL重要知识点
- mysql-connector-java与Mysql、Java的对应版本
- L58.linux命令每日一练 -- 第九章 Linux进程管理命令 -- pgrep和kill
- Linux系统shell脚本之mysql的日志备份
- 第38讲:MySQL索引结构之Hash索引数据结构
- linux下配置php Apache mysql
- linux===给新手的 10 个有用 Linux 命令行技巧(转)
- Mysql之mysql工具
- MySQL数据库管理系统安装部署——Linux
- Linux中19个MySQL数据库管理命令