记录下关于更新数据库报错1045
如何解决连接mysql报1045错误的问题
“1045 Access denied for user 'root'@'localhost' (using password:YES)”
出现上述问题的原因有很多,我是因为数据库折腾坏了,但是里面的数据非常之重要,也没有备份,于是我就把原mysql服务里面的Data文件夹整个copy了下来,卸载干净以前的,装好了新的数据库后,把原data文件夹替换新安装的data,之后就出现了1045报错,接下来总结解决办法,让后人可以有效避坑从而节省大量时间
连接mysql报1045错误的解决方法:1、打开my.ini配置文件;2、添加【skip-grant-tables】,保存文件;3、重启mysql服务;4、登录mysql并修改密码;5、退出登录并重新连接即可。
解决方法:
首先打开my.ini配置文件。(在mysql安装的MySQL Server 目录下,如果没有自己创建)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\softnew\MYSQL\mysql-5.7.20-winx64
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
然后在mysqld字段下面添加skip-grant-tables,保存退出。
如果出现保存失败,请将mysql服务停止后,再保存。
最后重启mysql服务。
现在我们可以登录mysql数据库了。
mysql -u账号 -p
之后回车会让你输入密码,此时不用直接回车
登录数据库后重新修改密码。update user set password=password("root22") where user="root";
如果报错则应先选择数据库use mysql
完成之后,退出并重新连接即可。