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

 更新时间:2017年03月23日 11:25:29   作者:Gabriel Cánepa  
本篇文章主要介绍了如何在 Linux 中重置 MySQL 或者 MariaDB 的 root 密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

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

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

这可以让你不用 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

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

总结

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • centos系统搭建本地yum服务器的方法

    centos系统搭建本地yum服务器的方法

    YUM是Yellow dog Updater, Modified的缩写,是由Duke University所发起的计划,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作。这篇文章主要给大家介绍了在centos系统搭建本地yum服务器的方法,有需要的朋友们可以参考借鉴。
    2016-12-12
  • 宝塔Linux面板 2.8.9稳定版介绍

    宝塔Linux面板 2.8.9稳定版介绍

    这篇文章主要介绍了宝塔Linux面板 2.8.9稳定版介绍,需要的朋友可以参考下
    2017-04-04
  • Linux删除系统自带版本Python过程详解

    Linux删除系统自带版本Python过程详解

    这篇文章主要介绍了Linux删除系统自带版本Python过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Linux系统下如何运行.sh文件的实现

    Linux系统下如何运行.sh文件的实现

    这篇文章主要介绍了Linux系统下如何运行.sh文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux yum安装postgresql出现Bad GPG signature问题的解决方法

    Linux yum安装postgresql出现Bad GPG signature问题的解决

    这篇文章给大家介绍了Linux yum安装postgresql出现Bad GPG signature问题的解决方法,文中通过代码示例给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-02-02
  • Linux usermod 命令的使用

    Linux usermod 命令的使用

    这篇文章主要介绍了Linux usermod 命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08
  • Ubuntu18.04安装opencv 3.2.0的解决方法

    Ubuntu18.04安装opencv 3.2.0的解决方法

    这篇文章主要介绍了Ubuntu18.04安装opencv 3.2.0的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • centos7系统部署k8s集群详细介绍

    centos7系统部署k8s集群详细介绍

    大家好,本篇文章主要讲的是centos7系统部署k8s集群详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Centos7如何备份和还原Redis数据的方法

    Centos7如何备份和还原Redis数据的方法

    这篇文章主要介绍了Centos7如何备份和还原Redis数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Linux VPS/服务器上轻松导入、导出MySQL数据库的几种方法

    Linux VPS/服务器上轻松导入、导出MySQL数据库的几种方法

    随着网站的运行MySQL数据库也越来越大,备份问题也日益凸显,使用phpmyadmin导出或导入时可能会因为超时文件过大等原因无法导入或导出。
    2010-12-12

最新评论