Linux MySQL忘记root密码解决方案
在使用mysql数据库时,由于某些原因长时间没有登陆mysql,或者由于工作交接完成度不高,导致数据库root登陆密码忘记,如何解决?
一、更改my.cnf配置文件
1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf
2.在[mysqld]下添加skip-grant-tables,然后保存并退出
3.重启mysql服务:service mysqld restart
二、更改root用户名
1、重启以后,执行mysql命令进入mysql命令行
2、修改root用户密码
mysql> update mysql.user set password=password('新密码') where user='root';
mysql> flush privileges;
mysql> exit
注意:以上是5.7之前的版本使用,5.7之后的版本没有password字段,password字段改成了authentication_string
mysql> update mysql.user set authentication_string=password(‘root123456') where user='root'; #修改密码成功
query ok, 1 row affected, 1 warning (0.00 sec)
rows matched: 1 changed: 1 warnings: 1
mysql> flush privileges; #立即生效
query ok, 0 rows affected (0.00 sec)mysql> quit
byen>mysql -u ******* -p #以该用户登录成功.
enter password: ********
…………………………
mysql>注意:5.7之后的版本,密码不能过于简单,如123456,否则会报以下错误:error 1819 (hy000): your password does not satisfy the current policy requirements。
此时,要么把密码设置复杂点,要么修改配置:
这个其实与validate_password_policy的值有关。 validate_password_policy有以下取值: 默认是1,即medium,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。 有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。 必须修改两个全局参数: 首先,修改validate_password_policy参数的值 mysql> set global validate_password_policy=0; query ok, 0 rows affected (0.00 sec) 1 2 validate_password_length(密码长度)参数默认为8,我们修改为1 mysql> set global validate_password_length=1; query ok, 0 rows affected (0.00 sec) 1 2 4,完成之后再次执行修改密码语句即可成功 mysql> alter user 'root'@'localhost' identified by '123456'; query ok, 0 rows affected (0.00 sec)
3、最后把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart
ok,下面我们就可以使用root新的密码登录mysql了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 跟踪外推效果工具对推广者而言尤为重要
下一篇: 用户管理命令
推荐阅读
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
raksmart linux vps配置mysql密码注意事项
-
linux下mysql乱码问题的解决方案
-
CentOS 6下root密码忘记的解决办法
-
虚拟机Linux系统忘记密码修改root或其他用户密码的方法
-
CentOS7.2 忘记root密码及重置root密码的简单处理方法
-
阿里云Linux CentOS 7.2下自建MySQL的root密码忘记的解决方法
-
MySQL密码正确却无法本地登录-1045 Access denied for user 'root'@'localhost' (using password:YES
-
Mysql非安装版使用步骤及忘记密码解决方法
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决