MySql5.7之ERROR 1045 (28000)问题处理
1. ERROR 1045 (28000)问题
- 时隔多日连接MySQL时出现了"ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)"的错误
- 输入的正确密码也无法连接
2.问题原因
引发问题的原因可能如下:
- 用户名或密码不正确:请确保输入的用户名和密码是正确的,注意区分大小写。
- 没有为用户授予足够的权限:用户可能没有足够的权限来访问数据库或执行特定的操作。
- 主机访问限制:MySQL 可能限制了从特定主机进行访问,需要确认连接的主机是否受到限制。
- MySQL 服务未启动:如果 MySQL 服务未启动,将无法连接到数据库。请确保 MySQL 服务已经启动。
- 一般这个错误是由密码错误引起,解决的办法自然就是重置密码
3. 解决方法(重置密码)
1. 修改my.ini配置
在my.ini中的[mysqld]配置中加入
skip-grant-tables
"配置如下:
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\MyZipServer\mysql-5.7.33-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错,8.0以下版本需要配置数据目录
datadir=E:\MyZipServer\mysql-5.7.33-winx64\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 跳过密码验证,解决"ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)"的问题
skip-grant-tables
2. 修改密码
执行下面语句中的任意一条修改即可,如下:文章来源:https://www.toymoban.com/news/detail-826824.html
alert user 'root'@'localhost' identified by '你的新密码';
# 或
set password for 'root'@'localhost' = password('你的新密码')
- 如果执行上面命令后出现
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
的错误需要先刷新下权限,如下
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3. 刷新权限
刷新权限后再执行修改密码的命令完成root密码的修改文章来源地址https://www.toymoban.com/news/detail-826824.html
# 完整的处理过程如下
mysql> set password for 'root'@'localhost' = password('xxx');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> set password for 'root'@'localhost' = password('xxx');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
4. 再次修改my.ini配置
- 密码修改完成后先停止服务;
- 然后将my.ini中配置的"skip-grant-tables"删除掉;
- 再重启服务问题解决
到了这里,关于MySql5.7之ERROR 1045 (28000)问题处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!