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 相关文章推荐
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
JS画线(实例代码)
Nov 20 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
Jul 09 Javascript
jQuery实现判断控件是否显示的方法
Jan 11 Javascript
微信小程序 扎金花简单实例
Feb 21 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
简述JS控制台的使用
Jul 15 Javascript
详解三种方式解决vue中v-html元素中标签样式
Nov 22 Javascript
vue 自动化路由实现代码
Sep 03 Javascript
vue实现评价星星功能
Jun 30 Javascript
html中创建并调用vue组件的几种方法汇总
Nov 17 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脚本中include文件出错解决方法
2008/11/20 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python迭代器与生成器详解
2016/03/10 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
python实现简单flappy bird
2018/12/24 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Python socket模块方法实现详解
2019/11/05 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
eBay德国站:eBay.de
2017/09/14 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
班级口号大全
2014/06/09 职场文书
学生吸烟检讨书
2014/09/14 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
Python装饰器的练习题
2021/11/23 Python
vue+echarts实现多条折线图
2022/03/21 Vue.js