前言
安装完mysql5.7进入MySQL时报错
mysql -u root -P 3306 -h localhost -p
Enter password: ************
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
仔细检查mysql安装目录中data的(默认主机名).err中的初始密码,发现没有问题,但还是报错了。
解决方法
1. 在my.ini中添加skip-grant-tables跳过输入密码环节。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3308端口
port = 3308
# 设置mysql的安装目录
basedir=E:\\tool\\mysql-5.7.37-winx64
# 设置mysql数据库的数据的存放目录(自动生成,不然可能报错)
datadir=E:\\tool\\mysql-5.7.37-winx64\\data
# 允许最大连接数
max_connections=10000
# 允许最大连接人数
max_user_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
skip-grant-tables
# 连接时间一年
wait_timeout=31536000
interactive_timeout=31536000
2. 重启mysql服务
可以使用命令
net stop mysql
net start mysql
也可以win+R输入services.msc进入服务
找到MySQL服务进行重启
3. 进入MySQL服务
输入mysql -u root -p 直接回车即可进行MySQL
> mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.37 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
修改密码
mysql> use mysql
mysql> update user set authentication_string=password(‘新密码’) where user=‘root’;
mysql> flush privileges;
参考文章:
解决mysql:ERROR 1045