环境相关:
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数据库中。
主要内容:使用mysqladmin命令在命令行指定新密码,修改MySQL数据库的user表,使用SET语句修改root用户的密码在 MySQL 中,root 用户拥有很高的权限,因此必须保证 root 用户密码的安全。修改 root 用户密码的方式有很多种,本节将介绍几种常用的修改 root 用户密码的方法。 使用mysqladmin命令在命令行指定新密码 root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 的语法格式如下: mysqladmin -u usern
本文向大家介绍MySQL 修改root密码,包括了MySQL 修改root密码的使用技巧和注意事项,需要的朋友参考一下 例子
本文向大家介绍MySQL修改root账号密码的方法,包括了MySQL修改root账号密码的方法的使用技巧和注意事项,需要的朋友参考一下 MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 2: 更新mysql数据库的user表 3:使用mysqladmin命令修改 命令一般为 mysqladmin -u root -
本文向大家介绍Linux下mysql的root密码修改方法,包括了Linux下mysql的root密码修改方法的使用技巧和注意事项,需要的朋友参考一下 前言 在服务部署在mysql上应该有好几个月了,因为现在的工作基本都在终端,因此很少登陆,今天要修改个东西,忽然发现我竟然已经彻底忘记了mysql的密码,去代码里面爬终于找到了业务数据库的密码,但是root密码还是没有找到,权限没法改呀,于是开始爬
本文向大家介绍Mysql5.6忘记root密码修改root密码的方法,包括了Mysql5.6忘记root密码修改root密码的方法的使用技巧和注意事项,需要的朋友参考一下 mysql5.6忘记数据库的root密码: [root@oraserver139 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for
本文向大家介绍Mysql5.7忘记root密码及mysql5.7修改root密码的方法,包括了Mysql5.7忘记root密码及mysql5.7修改root密码的方法的使用技巧和注意事项,需要的朋友参考一下 关闭正在运行的 MySQL : 运行 为了安全可以这样禁止远程连接: 使用mysql连接server: 更改密码: *特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Pas