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 相关文章推荐
从新浪弄下来的全屏广告代码 与使用说明
Mar 15 Javascript
建议大家看下JavaScript重要知识更新
Jul 08 Javascript
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
Sep 15 Javascript
javascript 处理事件绑定的一些兼容写法
Dec 24 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
JS组件Bootstrap Table布局详解
May 27 Javascript
Jquery 整理元素选取、常用方法一览表
Nov 26 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
Dec 14 Javascript
BootStrop前端框架入门教程详解
Dec 25 Javascript
在create-react-app中使用css modules的示例代码
Jul 31 Javascript
玩转Koa之koa-router原理解析
Dec 29 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
Dec 20 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安装问题
2006/10/09 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
Node.js文件操作详解
2014/08/16 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
泛谈JS逻辑判断选择器 || &&
2019/05/24 Javascript
你知道JavaScript Symbol类型怎么用吗
2020/01/08 Javascript
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python with用法实例
2015/04/14 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
python批量修改文件名的示例
2020/09/27 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
上海期货面试题
2014/01/31 面试题
linux面试题参考答案(11)
2016/11/26 面试题
北大自主招生自荐信
2013/10/19 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
民主评议党员总结
2014/10/20 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
灵能百分百第三季什么时候来?
2022/03/15 日漫
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android