转自https://www.cnblogs.com/sharonzhang/p/12520985.html
先安装了8.0版本,后来需要5.7版本,先把8.0版本的端口号改为3307(直接修改my.ini),后进行如下操作,安装成功
1. 先去官网下载要安装的版本(这里以Mysql5.7.24为例 ;原本计算机上是MySQL5.5)
官网网址:https://downloads.mysql.com/archives/community/【要下载zip的那个】
2. 下载完成后解压到某一个目录【随便任何地方】
解压完的文件是没有data文件夹和my.ini文件的
可以将原本mysql5.5中的my.ini文件复制来直接用 ;
但注意要将文件中所有的port 都修改为3307 【注意是所有!!!】
再将basedir 和 datadir 修改为前路径 如下:【data文件夹不用管,它可以自动生成】
其他博主my.ini配置信息
3. 将原来的mysql5.5的服务停掉
4. 以管理员身份打开cmd 【注意是管理员身份,要不会报错】 -- 这里要记住密码 【箭头指的就是密码】
mysqld --defaults-file=F:mysql5.7.24mysql-5.7.24-winx64my.ini --initialize --console
5. 再执行如下命令
mysqld install MySQL5.7.24 --defaults-file="F:mysql5.7.24mysql-5.7.24-winx64my.ini"
6.先不急启动服务,打开注册表【win+R ->regedit】,查找mysql5.7.24,将值修改为
F:mysql5.7.24mysql-5.7.24-winx64inmysqld --defaults-file=F:mysql5.7.24mysql-5.7.24-winx64my.ini MySQL5.7.24
7. 启动mysql服务
net start mysql5.7.24 【注意这里启动的时候一定要带着版本(名字),要不会启动别的版本】 【net stop mysql5.7.24 : 停掉服务
8.用临时密码进行登录【这个临时密码就是前面你存的】【P:端口 p :密码】
9. 修改密码: set password for root@localhost=password('root');
10. 退出 :quit
如果顺利一切就ok了,但是怎么可能,安装过程我遇到的问题
1.开始没有将my.ini文件中的所有port都改为3307 -- 后面需要重新执行之前的步骤,重新初始化就OK了
2.在我输入密码的时候报错:
解决办法:
编辑mysql5.7.24中的my.ini文件,在[mysqld] 这个条目下加入skip-grant-tables 保存后退出重启mysql
1. win+R -> cmd
2.停止服务:net stop mysql5.7.24
3.启动服务:net start mysql5.7.24
这时候在cmd里面输入 mysql -u root -p 就可以不用密码登录了,出现了password:的时候直接回车可以进入,不会出现ERROR,但很多操作都会受限制,因为我们不能grant(没有权限)
继续按下面的流程走:【句末记得加分号】
1. 进入mysql数据库
mysql>use mysql;
Database changed
2.给root用户设置新密码
mysql>update user set password=password(“新密码") where user="root";
Query OK,1 rows affected(0.01sec)
Row matched:1 Changed: 1 Warings:0
【
!!!!! 这里我又报错了:Unknown column 'password' in 'field list'
错误原因是: 5.7版本下的myqsl数据库下已经没有password这个字段了,password字段改成了authentication_string ,所以修改密码需要修改以下
update user set authentication_string=password("新密码") where user="root";
update mysql.user set authentication_string=password('*******') where user='*******'; (参考)
】
3. 刷新数据库
mysql>flush privileges;
Query OK,0 rows affected(0.00 sec)
4.退出mysql
mysql>quit;
Bye
改好之后,再修改以下my.ini这个文件,把我们刚加入的"skip-grant-tables”这行删除,保存退出再重启mysql5.7.24就可以了
这样装两个版本的Mysql就结束了
再我导入公司给的脚本文件的时候又出错了!!!
【navicat导入sql脚本文件报错MySQL server has gone away】
后来在网上找,原来是因为脚本文件太大了,我之前的my.ini中允许最大的数据包是1M,修改以下就可以成功导入了
找到mysql安装目录下的my.ini配置文件,加入以下代码:
max_allowed_packet=500M
wait_timeout=288000 【可以先不加】
interactive_timeout = 288000 【可以先不加】
三个参数注释如下:
max_allowed_packet是mysql允许最大的数据包,也就是你发送的请求;
wait_timeout是等待的最长时间,这个值大家可以自定义,但如果时间太短的话,超时后就会现了MySQL server has gone away #2006错误。
max_allowed_packet参数的作用是,用来控制其通信缓冲区的最大长度
终于完事!!!