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 相关文章推荐
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
JQuery实现展开关闭层的方法
Feb 17 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
webpack+vue2构建vue项目骨架的方法
Jan 09 Javascript
Vue自定义指令实现checkbox全选功能的方法
Feb 28 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
Mar 05 Javascript
seajs下require书写约定实例分析
May 16 Javascript
layer插件select选中默认值的方法
Aug 14 Javascript
vue父子组件通信的高级用法示例
Aug 29 Javascript
layer 关闭指定弹出层的例子
Sep 25 Javascript
使用vuex存储用户信息到localStorage的实例
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
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP内核探索:变量概述
2014/01/30 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
Bootstrap进度条学习使用
2017/02/09 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
python实现websocket的客户端压力测试
2019/06/25 Python
python实现图片压缩代码实例
2019/08/12 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
JSF的标签库有哪些
2012/04/27 面试题
电子商务专业个人的自我评价
2013/11/19 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
户籍证明书标准模板
2014/09/10 职场文书
电工实训报告总结
2014/11/05 职场文书
小学教学工作总结2015
2015/05/13 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android