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滚动条多种样式,推荐
Feb 05 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
Jan 03 Javascript
JS简单计算器实例
Jan 20 Javascript
JavaScript中数组继承的简单示例
Jul 29 Javascript
BootStrap智能表单demo示例详解
Jun 13 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
JavaScript检查数据中是否存在相同的元素(两种方法)
Oct 07 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
Aug 26 Javascript
JavaScript数组 几个常用方法总结
Nov 11 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
JavaScript加强之自定义event事件
2013/09/21 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
厨师岗位职责
2013/11/12 职场文书
三好学生自我鉴定
2013/12/17 职场文书
网页美工求职信
2014/02/15 职场文书
学校联谊协议书
2014/09/16 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
Python实现Hash算法
2022/03/18 Python
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL