mysql的一些问题以及相关解决方式

116 阅读2分钟

我正在参与掘金创作者训练营第6期,  点击了解活动详情

九月底要完成一个学校的竞赛,摆了一个假期的我们开始准备起来了。决定用以前的 jsp 模板去改改交上去,于是出了一系列的问题。令人窒息。。。

问题是我的 mysql 在一学期 PHP 的学习中无法使用了,在 navicat 无法运行数据库。上 PHP 的时候用的是 wamp 里自带的 mysql5 ,不过当时没找到这个,只是在D盘里找到了一个 mysql8 的文件夹,就以为自己在用的是 mysql8 。模板是在 idea 里运行的 jsp 模板,有一系列的问题,下面来讲讲。

首先先了解一下navicat最常见的报错,有下面两个。

1. 报错1045

原因:密码错误

解决方法

1. 知道(可能的)密码

mysql -u root -p

enter后 试密码

我试出来 我的 mysql5 的密码为123456,

没试出来 mysql8 的密码(后来才发现我根本没安装 mysql8 ,也有可能是被我卸载过,只剩一个装着安装包的文件夹,看到问的兄弟们也可以关注一下有没有找对版本)

2. 不知道密码

改密码

改密码由于mysql版本的不同。有所不同。

不知道版本的,命令行先关闭mysql服务net stop mysqlnet start mysql看提示的是哪个版本的mysql,不要像我一样苦苦挣扎在没安装的版本上。

1. mysql8以下,如mysql5

1.1 关闭mysql服务,可以搜索服务然后将其关闭

image.png

1.2 打开CMD命令行窗口,转到mysql\bin目录,应该需要管理员权限

windows+x 打开windows power shell 管理员模式

image.png

1.3 转到正确的mysql\bin目录
1.4 输入mysqld --skip-grant-tables 回车

该指令能够启动MySQL服务的时候跳过权限表认证,就是无密码启动

1.5 重新打开一个命令行窗口,因为刚才那个不能动了,切换到mysql\bin目录mysql回车,如果启动成功,会有welcomde to the mysql 等好几行提示
1.6 连接权限数据库表 user
use mysql
1.7 改密码
update user set password=password("想要改成的密码") where user="root";
1.8 刷新权限
flush privileges;

这样就改好密码了


2. mysql8

与上述相似,就是无密码启动服务的命令有所改变,变为mysqld –console –skip-grant-tables –shared-memory

可能会无响应

解决方法

mysqld --defaults-file="mysql文件路径\my.ini" --console --skip-grant-tables --shared-memory

2. 报错2003

原因:密码错误

解决方法:请听下回分解(真的不是为了再水一篇)