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 相关文章推荐
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
jQuery取得设置清空select选择的文本与值
Jul 08 Javascript
禁止按回车键提交表单的方法
Jun 11 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
深入学习js瀑布流布局
Oct 14 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 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
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
php 魔术常量详解及实例代码
2016/12/04 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
python基础教程之Hello World!
2014/08/29 Python
初学Python实用技巧两则
2014/08/29 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
浅析Python中字符串的intern机制
2020/10/03 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
一套SQL笔试题
2016/08/14 面试题
学习委员自我鉴定
2014/01/13 职场文书
就业表自我评价分享
2014/02/06 职场文书
体育节口号
2014/06/19 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
Nginx 匹配方式
2022/05/15 Servers