如何在Linux中重置MySQL或者MariaDB的root密码

系统 Linux MariaDB
如果你是第一次设置 MySQL 或 MariaDB 数据库,你可以直接运行 mysql_secure_installation 来实现基本的安全设置。其中一项是设置数据库 root 帐户的密码 - 你必须保持私密,并仅在绝对需要时使用。如果你忘记了密码或需要重置密码,这篇文章会派上用场。我们将解释如何在 Linux 中重置或恢复 MySQL 或 MariaDB 的 root 密码。

[[185729]]

如果你是***次设置 MySQL 或 MariaDB 数据库,你可以直接运行 mysql_secure_installation 来实现基本的安全设置。

其中一项是设置数据库 root 帐户的密码 - 你必须保持私密,并仅在绝对需要时使用。如果你忘记了密码或需要重置密码(例如,当数据库管理员换人或被裁员!),这篇文章会派上用场。我们将解释如何在 Linux 中重置或恢复 MySQL 或 MariaDB 的 root 密码。

建议阅读更改 MySQL 或 MariaDB 的 root 密码

虽然我们将在本文中使用 MariaDB,但这些说明同样也适用于 MySQL。

恢复 MySQL 或者 MariaDB 的 root 密码

开始之前,先停止数据库服务并检查服务状态,我们应该可以看到先前设置的环境变量:

  1. ------------- SystemD -------------  
  2. # systemctl stop mariadb 
  3. ------------- SysVinit ------------- 
  4. # /etc/init.d/mysqld stop 

接下来,用 --skip-grant-tables 选项启动服务:

  1. ------------- SystemD -------------  
  2. # systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 
  3. # systemctl start mariadb 
  4. # systemctl status mariadb 
  5. ------------- SysVinit ------------- 
  6. # mysqld_safe --skip-grant-tables &  

 

 

使用 skip tables 启动 MySQL/MariaDB 

使用 skip tables 启动 MySQL/MariaDB

这可以让你不用 root 密码就能连接到数据库(你也许需要切换到另外一个终端上):

  1. # mysql -u root 

接下来,按照下面列出的步骤来。

  1. MariaDB [(none)]> USE mysql; 
  2. MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere'WHERE User='root' AND Host = 'localhost'
  3. MariaDB [(none)]> FLUSH PRIVILEGES

***,停止服务,取消环境变量设置并再次启动服务:

  1. ------------- SystemD -------------  
  2. # systemctl stop mariadb 
  3. # systemctl unset-environment MYSQLD_OPTS 
  4. # systemctl start mariadb 
  5. ------------- SysVinit ------------- 
  6. # /etc/init.d/mysql stop 
  7. # /etc/init.d/mysql start 

这可以让先前的改变生效,允许你使用新的密码连接到数据库。

总结

本文我们讨论了如何重置 MariaDB/MySQL 的 root 密码。一如往常,如果你有任何问题或反馈请在评论栏中给我们留言。我们期待听到你的声音。

作者简介:

Gabriel Cánepa - 一位来自阿根廷圣路易斯梅塞德斯镇 (Villa Mercedes, San Luis, Argentina) 的 GNU/Linux 系统管理员,Web 开发者。就职于一家***级的消费品公司,乐于在每天的工作中能使用 FOSS 工具来提高生产力。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-09-08 10:16:18

数据库MySQLMariaDB

2018-12-27 13:35:11

MySQLMySQL 8重置密码

2020-08-31 07:30:28

UbuntuRoot密码

2019-09-09 10:25:54

MySQLMariaDB roo密码

2022-05-26 10:30:48

Fedora操作系统root 密码

2015-09-14 14:49:39

MySQLMariaDBLinux

2010-05-12 16:56:44

2010-07-19 13:39:01

CentOSroot重置

2018-05-24 14:40:04

2018-07-31 16:20:12

Windows 10Windows密码

2020-04-17 08:00:22

Docker命令普通用户

2010-05-13 18:18:58

MySQL root

2017-04-13 12:20:43

Mysqlroot密码

2017-04-08 19:45:27

Linux命令安装

2010-02-03 13:50:19

Linux mysql

2018-05-17 09:15:25

Linux发行版root密码

2017-02-06 18:00:26

Linuxsudo命令

2010-06-09 17:26:54

2010-06-10 15:44:53

2010-05-26 17:21:14

MySQL root密
点赞
收藏

51CTO技术栈公众号