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调用后台方法进行数据交互
Aug 20 Javascript
js中把JSON字符串转换成JSON对象最好的方法
Mar 21 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
Jul 22 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
node文字生成图片的示例代码
Oct 26 Javascript
Vue数据监听方法watch的使用
Mar 28 Javascript
VUE组件中的 Drawer 抽屉实现代码
Aug 06 Javascript
ES6 Symbol在对象中的作用实例分析
Jun 06 Javascript
ES6 解构赋值的原理及运用
May 25 Javascript
vue ref如何获取子组件属性值
Mar 31 Vue.js
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从数组中随机抽取一些元素的代码
2012/11/05 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
div模拟选择框示例代码
2013/11/03 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
Python之pymysql的使用小结
2019/07/01 Python
django rest framework serializers序列化实例
2020/05/13 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
某公司的.net工程师面试题笔试题
2013/11/22 面试题
综治宣传月活动总结
2014/04/28 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
创建文明城市倡议书
2015/04/28 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python
VUE递归树形实现多级列表
2022/07/15 Vue.js
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS