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操纵窗口的方法小结
Jun 28 Javascript
用Js实现的动态增加表格示例自己写的
Oct 21 Javascript
js实现日期级联效果
Jan 23 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
jsp 自动编译机制详细介绍
Dec 01 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
Dec 08 Javascript
详解升级react-router 4 踩坑指南
Aug 14 Javascript
React 无状态组件(Stateless Component) 与高阶组件
Aug 14 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
node.js的http.createServer过程深入解析
Jun 06 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按一定比例压缩图片的方法
2018/10/12 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
python实现socket端口重定向示例
2014/02/10 Python
下载给定网页上图片的方法
2014/02/18 Python
python实现图片批量剪切示例
2014/03/25 Python
Python 异常处理的实例详解
2017/09/11 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
django2.0扩展用户字段示例
2019/02/13 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
Python字符串的一些操作方法总结
2019/06/10 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
python opencv如何实现图片绘制
2020/01/19 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
详解python polyscope库的安装和例程
2020/11/13 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
英文自荐信
2013/12/19 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL