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 相关文章推荐
基于jQuery的淡入淡出可自动切换的幻灯插件
Aug 24 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
js使用html()或text()方法获取设置p标签的显示的值
Aug 01 Javascript
AngularJS语法详解
Jan 23 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
Apr 22 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
vue 注册组件的使用详解
May 05 Javascript
详解react内联样式使用webpack将px转rem
Sep 13 Javascript
Vue源码解析之数据响应系统的使用
Apr 24 Javascript
Vue可自定义tab组件用法实例
Oct 24 Javascript
原生JS实现烟花效果
Mar 10 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中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
使用JS动态显示文本
2017/09/09 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
Python 功能和特点(新手必学)
2015/12/30 Python
python 数据的清理行为实例详解
2017/07/12 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Django admin美化插件suit使用示例
2017/12/12 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
在Python中定义一个常量的方法
2018/11/10 Python
详解python中eval函数的作用
2019/10/22 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
五一服装活动方案
2014/01/11 职场文书
十八大宣传标语
2014/10/09 职场文书
超市采购员岗位职责
2015/04/07 职场文书
师范生小学见习总结
2015/06/23 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python