ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
mysql数据root密码异常之后,可以通过跳过MySQL的密码认证过程
找到的资料是
1.1、修改 /etc/my.cnf(找到 [mysqld] 内容后添加 "skip-grant-tables" )
就可以跳过密码验证过程了
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
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