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


Posted in Javascript onJanuary 07, 2018

环境相关:
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 学习笔记 错误处理
Jul 30 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 Javascript
只需一行代码,轻松实现一个在线编辑器
Nov 12 Javascript
jquery下div 的resize事件示例代码
Mar 09 Javascript
使用js实现的简单拖拽效果
Mar 18 Javascript
JavaScript获取指定元素位置的方法
Apr 08 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
Oct 23 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
May 09 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
Aug 02 Javascript
基于Vue的延迟加载插件vue-view-lazy
May 21 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 Javascript
12条写出高质量JS代码的方法
Jan 07 #Javascript
js数组方法reduce经典用法代码分享
Jan 07 #Javascript
javascript中的replace函数(带注释demo)
Jan 07 #Javascript
基于JavaScript实现简单的音频播放功能
Jan 07 #Javascript
js实现复制功能(多种方法集合)
Jan 06 #Javascript
tangram.js库实现js类的方式实例分析
Jan 06 #Javascript
JavaScript寄生组合式继承实例详解
Jan 06 #Javascript
You might like
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
javascript中call和apply的用法示例分析
2015/04/02 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
应用服务器有那些
2012/01/19 面试题
什么是makefile? 如何编写makefile?
2012/08/08 面试题
找工作最新求职信
2013/12/22 职场文书
学员自我鉴定
2014/03/19 职场文书
2014年妇女工作总结
2014/12/06 职场文书
怎样写辞职信
2015/02/27 职场文书
大学军训口号大全
2015/12/24 职场文书