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 01 Javascript
jquery indexOf使用方法
Aug 19 Javascript
通过JS判断联网类型和连接状态的实现代码
Apr 01 Javascript
JavaScript中定义类的方式详解
Jan 07 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
原生JS实现的放大镜效果实例代码
Oct 15 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
Dec 11 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 Javascript
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
Vue注册组件命名时不能用大写的原因浅析
Apr 25 Javascript
js实现全选和全不选
Jul 28 Javascript
原生JS中应该禁止出现的写法
May 05 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实现ping
2006/10/09 PHP
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
PHP7引入的"??"和"?:"的区别讲解
2019/04/08 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
js渐变显示渐变消失示例代码
2013/08/01 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
如何开发安全的AJAX应用
2014/03/26 面试题
缓刑人员的思想汇报
2014/01/11 职场文书
迟到检讨书900字
2014/01/14 职场文书
服务员岗位职责
2014/01/29 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP