卸载Mysql8.0版本后,重新安装5.0版本后出错,教程
最近小编学校的老师给了我们一个作业,用Spring进行数据库操作
由于之前小编在自己的电脑上安装的是8.0版本,而老师给的一个student.sql文件是在5.7版本上运行的,所以从教室回来后,在自己的电脑上运行一直显示出错
就像上面这种,查了一下,才发现自己的Mysql版本是8.0.13,而Mysql 8.0以后就彻底没有查询缓存这个功能了。于是我就打算删了自己的数据库,安装5.7版本,结果就开始头大了。。
一开始是在自己解压后的数据库目录下运行命令行,输入mysqld --install
,一直显示
Install/Remove of the Service Denied
在网上查了一下,说要用管理员模式打开dos,结果可以了。
可是却提示了找不到MySQL server
打开计算机管理,点击服务,也查不到MySQL服务,于是开始我的再删再安装之路,(记得要在环境变量中的Path配置路径哦)终于在网上找了又找,看到安装MySQL5.7版本的需要my.ini文件(舍友都不用,我也不知道为什么我的电脑就需要),我就跟着在我解压后的目录里新建了一个my.ini文件,里面的内容如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/tools/mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:/tools/mysql-5.7.20-winx64/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
注意(路径中的斜杆,都是粗心惹的祸)其中的basedir中的路径和datadir中的路径就是自己Mysql的安装路径,其实也就是解压路径,然后需要自己手动创建一个data文件夹在我们的解压目录下,之后再该目录下以管理员身份运行命令行模式,输入以下命令:
mysqld --initialize
系统将自动生成data数据存放目录,然后输入
然后在输入:
mysqld install
启动mysql服务
net start mysql
进去之后mysql -u root -p
登陆输入密码发现还是显示Can’t connect to MySQL server on localhost(10061)
,就先停止mysql 服务
net stop mysql
修改my.ini文件,再最底下输入
skip-grant-tables
保存
这一行表示先跳过密码验证,成功进入后,更改密码
set password for ‘root’@‘localhost’=password(‘root’);//第一个root是你的用户名,一般是root
在执行 set password for ‘root’@‘localhost’=password(‘123456’);报错后,输入flush privileges;命令行执行,再执行 set password for ‘root’@‘localhost’=password(‘123456’);就可以成功设置密码了。之后
net stop mysql
把my.ini文件中的skip-grant-tables删除,再次启动mysql服务
net start mysql
就成功进入了!!