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实现一键回顶功能示例代码
Oct 28 Javascript
Js实现网页键盘控制翻页的方法
Oct 30 Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 Javascript
Vue.js实战之组件之间的数据传递
Apr 01 Javascript
利用vscode编写vue的简单配置详解
Jun 17 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
AngularJS表单验证功能
Oct 19 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
Electron 如何调用本地模块的方法
Feb 01 Javascript
js实现无缝滚动双图切换效果
Jul 09 Javascript
javaScript中indexOf用法技巧
Nov 26 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
Dec 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 win下Socket方式发邮件类
2009/08/21 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python 判断网络连通的实现方法
2018/04/22 Python
python爬取网页转换为PDF文件
2018/06/07 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
OpenCV 模板匹配
2019/07/10 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
如何用python免费看美剧
2020/08/11 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
The North Face北面荷兰官网:美国著名户外品牌
2019/10/16 全球购物
人力资源职位说明书
2014/07/29 职场文书
党章培训心得体会
2014/09/04 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
2014年外联部工作总结
2014/11/17 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers