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 相关文章推荐
学习ExtJS border布局
Oct 08 Javascript
javascript正则表达式中参数g(全局)的作用
Nov 11 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
Bootstrap 组件之按钮(二)
May 11 Javascript
完美解决浏览器跨域的几种方法(汇总)
May 08 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
VUE DOM加载后执行自定义事件的方法
Sep 07 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
Nov 02 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
Echarts.js无法引入问题解决方案
Oct 30 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中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
浅析JavaScript中的类型和对象
2013/11/29 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
年终考核实施方案
2014/05/26 职场文书
小学语文业务学习材料
2014/06/02 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
预备党员转正材料
2014/12/19 职场文书
捐助倡议书
2015/01/19 职场文书
离婚协议书样本
2015/01/26 职场文书
入党个人总结范文
2015/03/02 职场文书
团结主题班会
2015/08/13 职场文书