Linux下修改Mysql密码的三种方式


前言

有时我们会忘记Mysql的密码,或者想改一个密码,以下将对这两种情况修改密码的三种解决方法做个总结

本文都以用户为 root 为例

 

一、拥有原来的mysql的root的密码

方法一: 

在mysql系统外,使用mysqladmin

1 mysqladmin -u root -p password "test123" 2 Enter password: 【输入原来的密码】

 

方法二:
通过登录mysql系统

1 mysql -uroot -p 2 Enter password: 【输入原来的密码】 3 mysql>use mysql; 4 mysql> update user set password=passworD("test") where user='root'; 5 mysql> exit; 

 

注意:如果Mysql的版本是5.7及以上的话update语句更换如下:

1 mysql> update user set authentication_string=passworD("test") where user='root';

 

二、忘记原来的myql的root的密码

方法三:

首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop;

1 service mysql stop

然后执行

1 mysqld_safe --skip-grant-tables &

&,表示在后台运行,不再后台运行的话,就再打开一个终端吧。

接着登陆MySQL修改密码

1 mysql 2 mysql> use mysql; 3 mysql> UPDATE user SET password=password("test123") WHERE user='root'; 4 mysql> exit; 

注意:如果Mysql的版本是5.7及以上的话update语句如下:

mysql8.0以上密码策略限制必须要大小写加数字特殊符号,然后试了试只用字符串root设为密码居然可以ヽ(ー_ー)ノ

1 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Mysql123';

如果执行报错,如下:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

需要刷新权限表后,再次执行修改密码

flush privileges;

附:mysql8配置远程访问


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM