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

简介:
+关注继续查看

如何在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
目录
相关文章
|
3月前
|
SQL 存储 安全
mysql的用户名和密码怎么查
mysql的用户名和密码怎么查
|
8月前
|
关系型数据库 MySQL PHP
Mysql密码已过期无法连接
Mysql密码已过期无法连接
|
存储 SQL 关系型数据库
Liunx 修改 mysql 密码
Liunx 修改 mysql 密码
Liunx 修改 mysql 密码
|
SQL 关系型数据库 MySQL
windows中安装64位MySQL及连接MySQL和重置MySQL密码
windows中安装64位MySQL及连接MySQL和重置MySQL密码
158 0
windows中安装64位MySQL及连接MySQL和重置MySQL密码
|
关系型数据库 MySQL 数据库连接
MySQL - 怎样找到 MySQL 的用户名和密码?
MySQL - 怎样找到 MySQL 的用户名和密码?
160 0
MySQL - 怎样找到 MySQL 的用户名和密码?
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL修改root密码的多种方法
MySQL修改root密码的多种方法
|
关系型数据库 MySQL 开发工具
Mysql root密码忘记找回妙招
Mysql root密码忘记找回妙招
221 0
Mysql root密码忘记找回妙招
|
关系型数据库 MySQL Java
Springboot 连接Mysql ,yml文件中 密码带有特殊符号出错
Springboot 连接Mysql ,yml文件中 密码带有特殊符号出错
313 0
Springboot 连接Mysql ,yml文件中 密码带有特殊符号出错
|
关系型数据库 MySQL Linux
mysql密码忘了怎么登录?
本篇内容记录了mysql忘记密码怎样登录的解决方案。
|
关系型数据库 MySQL 数据库
mysql 不需要使用密码就可以登录
最近发现一个问题, 就是我等了mysql客户端可以不输入密码. 直接输入mysql -u root 回车 或者 输入一个错的密码,都可进入到下面的界面. 在Navicat不用输入密码, 或者数据错的密码都可以连接数据库, 这比较愁人.
441 0
mysql 不需要使用密码就可以登录
推荐文章
更多