CentOS环境中MySQL修改root密码方法

 更新时间:2018年01月07日 09:45:13   投稿:laozhang  
这篇文章给大家讲述了如何遵循12条方法来写出高质量的JS代码的经验,有这方便需要的朋友参考下吧。

环境相关:
OS:CentOS release 6.9
IP:192.168.1.10
MySQL:MariaDB-10.1.30

1. 修改前的确认

修改root密码是需要重启mysql库,确认生产真的可以重启mysql库;

确认生产是否有直接使用root用户连接到库的使用情况,如果有则要做相应连带变更;

修改密码前请停掉连接到库的应用,也就是停掉该库相关的所有生产线。

2. 停库修改密码

ps -ef|grep mysql|grep -v grep
# 找到对应的mysql服务器守护进程,查看是否有其他mysql服务守护进行存在
ps -ef|grep mysql|grep -v grep|xargs kill -9
# 杀掉root启动库的命令进程和库的守护进程,否则库会自动再次启动
# 杀掉进程,停库,杀掉进程之前请确保连接到库的应用全部停掉!!!
mysqld_safe --user=mariadb --skip-grant-tables &
# 忽略授权表启动库,此时如果使用密码则无法登陆库
# 连接到库的应用如果没有停掉,此时是无法成功连接到库的
mysql
use mysql;
select Host,User,Password from user where user='root';
exit;
# 进到mysql库中,查询当前的root密码的密值,保存密值用以回滚
# 比如我当前密码是vincent,密值是'*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D'
mysql
use mysql;
update user set password=password('test') where user='root';
exit;
# 进到mysql库中,设置root密码
mysqladmin shutdown
mysqld_safe --user=mariadb &
# 重启库,登录测试
mysql -uroot -ptest -Dmysql
exit;
# 登录成功

3. 操作回滚

当你修改完root密码后,发现很多问题,比如有未知的应用以原来的root密码连接到了库(操蛋的历史遗留问题),需要回滚。

mysql -uroot -ptest -Dmysql
update user set password='*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D' where user='root';
flush privileges;
exit;
# 使用上一步记录的root密码修改前的密值进行回滚
mysql -uroot -pvincent -Dmysql
exit;
# 回滚完成

4. 相关知识点

可以直接使用密码的密值设置密码,目前没有找到可以直接将密值逆转成密码明文的方法,查看密码的密值可以使用password函数:

mysql -uroot -pvincent
select password('vincent'),password('test');

但是如果你知道了密值,就可以神不知鬼不晓的以root权限修改某个用户的密码,使用之,然后还原。
该情况多用于某个用户的密码遗忘,重置密码,相同的情况还出现在oracle数据库中。

相关文章

  • javascript基础之查找元素的详细介绍(访问节点)

    javascript基础之查找元素的详细介绍(访问节点)

    常用jQuery的话我们知道,jQuery有非常强大的选择器来查找元素(也称作访问节点),例如:基本选择器、层次选择器、过滤选择器、属性选择器等
    2013-07-07
  • JavaScript中的Number数字类型学习笔记

    JavaScript中的Number数字类型学习笔记

    对数字类型支持得不够强大是很多人吐槽JavaScript的原因,anyway...这里整理了JavaScript中的Number数字类型学习笔记,适合入门及基础知识复习,需要的朋友可以参考下
    2016-05-05
  • 详解JS数值Number类型

    详解JS数值Number类型

    本篇文章主要给大家详细分析了JavaScript数值Number类型的相关知识点,对此有兴趣的朋友跟着小编一起学习下。
    2018-02-02
  • 解读JavaScript中 For, While与递归的用法

    解读JavaScript中 For, While与递归的用法

    本篇文章对JavaScript中 For, While与递归的用法进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • Javascript 二维数组

    Javascript 二维数组

    Javascript二维数组的实现代码,需要的朋友可以参考下。
    2009-11-11
  • actionscript与javascript的区别

    actionscript与javascript的区别

    actionscript是flash的脚本语言,目前已经由adobe公司升级到3.0版本,成为了真正意义的oop语言,JavaScript是由netscape工程师设计完成的一门脚本语言,用于web开发的前端脚本
    2011-05-05
  • PHP 数组current和next用法分享

    PHP 数组current和next用法分享

    本文这里通过示例给大家简单对比分析了PHP 数组current和next的用法,虽然示例很简单,但是对于我们理解current和next非常有帮助,这里推荐给大家。
    2015-03-03
  • window.requestAnimationFrame是什么意思,怎么用

    window.requestAnimationFrame是什么意思,怎么用

    window.requestAnimationFrame 告诉浏览器您要执行的动画并且请求浏览器的在下一个动画帧重绘窗口,方法在浏览器重绘之前作为一个回调函数被调用,就是告诉浏览器在刷新屏幕的时候,调用这个方法
    2013-01-01
  • JavaScript类属性的访问方式详解

    JavaScript类属性的访问方式详解

    这篇文章主要介绍了JavaScript类属性的访问方式,需要的朋友可以参考下
    2014-02-02
  • JavaScript之编码规范 推荐

    JavaScript之编码规范 推荐

    JavaScript是一种语法灵活,简单易懂的脚本语言。正因为灵活,因此很多人在编写代码时,显得很随意,这就导致后期的修改、扩展和维护变得异常困难。遵循统一的编码规范,不仅对C++和Java这种编译型语言很重要,对JavaScript脚本语言也同样如此
    2012-05-05

最新评论