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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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

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

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





Gabriel Cánepa
来源:51CTO
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
21天前
|
关系型数据库 MySQL 网络安全
|
1月前
|
缓存 IDE Shell
【Shell 命令集合 系统设置 】Linux 重置终端的显示 reset命令 使用指南
【Shell 命令集合 系统设置 】Linux 重置终端的显示 reset命令 使用指南
35 0
|
1月前
|
关系型数据库 MySQL 数据库
mysql中如何将默认用户名root改成其他?
mysql中如何将默认用户名root改成其他?
25 0
|
1月前
|
关系型数据库 MySQL 数据库
MySQL忘记root密码、远程无法连接的解决方法
MySQL忘记root密码、远程无法连接的解决方法
|
3月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu下Mysql安装与root密码重置教程】
请注意,以上步骤是针对Ubuntu系统的。如果你使用的是其他Linux发行版,请相应地调整命令。
110 1
|
1月前
|
缓存 关系型数据库 MySQL
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法
|
2月前
|
关系型数据库 MySQL 数据库
连接mysql报Access denied for user 'root'@'localhost'错误的解决办法
连接mysql报Access denied for user 'root'@'localhost'错误的解决办法
|
2月前
|
关系型数据库 MySQL 数据库
MySql修改root密码
MySql修改root密码
24 0
|
4月前
|
关系型数据库 MySQL Linux
MySQL【部署 02】Linux 非 root 用户部署 mysql-5.7.28 设置开机启动及问题汇总(含云盘资源)
MySQL【部署 02】Linux 非 root 用户部署 mysql-5.7.28 设置开机启动及问题汇总(含云盘资源)
73 0
|
4月前
|
关系型数据库 MySQL Linux
MySQL【部署 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
MySQL【部署 01】Linux root 用户部署 mysql-5.7.28 及 not allowed to connect to this MySQL server 和中文乱码问题处理
51 0