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 相关文章推荐
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
js获取当前路径的简单示例代码
Jan 08 Javascript
javascript面向对象之对象的深入理解
Jan 13 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
Aug 03 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
Nov 02 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
Mar 14 Javascript
React Native时间转换格式工具类分享
Oct 24 Javascript
swiper Scrollbar滚动条组件详解
Sep 08 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
Apr 26 Javascript
Node.js API详解之 util模块用法实例分析
May 09 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
Aug 17 Javascript
Ant Design的可编辑Tree的实现操作
Oct 31 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调用Oracle存储过程
2006/10/09 PHP
php json与xml序列化/反序列化
2013/10/28 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
PHP加密解密函数详解
2015/10/28 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
Django+Xadmin构建项目的方法步骤
2019/03/06 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
采购员岗位职责
2013/11/15 职场文书
应届生自荐信
2014/06/30 职场文书
结对共建协议书
2014/08/20 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
作风建设整改方案
2014/10/27 职场文书
赤壁观后感(2)
2015/06/15 职场文书
MySQL插入数据与查询数据
2022/03/25 MySQL