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实现的模拟jquery的animate自定义动画(2.5K)
Jul 20 Javascript
js简单实现Select互换数据的方法
Aug 17 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
JavaScript创建对象的常用方式总结
Aug 10 Javascript
详解redux异步操作实践
Aug 15 Javascript
Vue2.0 v-for filter列表过滤功能的实现
Sep 07 Javascript
基于axios 解决跨域cookie丢失的问题
Sep 26 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
详解微信小程序回到顶部的两种方式
May 09 Javascript
jQuery冲突问题解决方法
Jan 19 jQuery
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 常用算法和时间复杂度
2013/07/01 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
理解JavaScript中的对象 推荐
2011/01/09 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
webpack学习--webpack经典7分钟入门教程
2017/06/28 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
js实现表格数据搜索
2020/08/09 Javascript
python 实现插入排序算法
2012/06/05 Python
Python功能键的读取方法
2015/05/28 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
python文件读取失败怎么处理
2020/06/23 Python
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
教育系毕业生中文求职信范文
2013/10/06 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
学生会主席演讲稿
2014/04/25 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
小学科学课教学反思
2016/02/23 职场文书
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers