Linux mysql没有my.cnf,替代文件为mysql.conf.d

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

mysql数据root密码异常之后,可以通过跳过MySQL的密码认证过程

找到的资料是

1.1、修改  /etc/my.cnf(找到 [mysqld] 内容后添加  "skip-grant-tables" )

Linux mysql没有my.cnf,替代文件为mysql.conf.d_第1张图片

就可以跳过密码验证过程了

1.2、重启服务"service mysql restart"   ,之后通过 "mysql"直接进入到数据库中,进行相关的密码重置,之后屏蔽"skip-grant-tables"代码,重启服务就能正常使用了

 

2、还有的是将/usr/share/mysql/my-default.cnf文件拷贝为/etc/my.cnf来使用

重点是我在/etc/目录下并没有找到my.cnf文件,也没找到my-default.cnf文件

后来才知道,从5.7.18开始官方不再二进制包中提供my-default.cnf文件。
具体可参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

那么需要修改的参数只需要修改/etc/mysql/mysql.conf.d就可以了

cd /etc/mysql/mysql.conf.d
sudo vi mysql.conf.d

Linux mysql没有my.cnf,替代文件为mysql.conf.d_第2张图片

 

mysql> update user set password=password("*******") where user="*******";  #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

你可能感兴趣的:(Linux mysql没有my.cnf,替代文件为mysql.conf.d)