一台计算机安装两个版本的MySQL

Posted qing_wo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一台计算机安装两个版本的MySQL相关的知识,希望对你有一定的参考价值。

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.24\\mysql-5.7.24-winx64\\my.ini --initialize --console

 

 5. 再执行如下命令

mysqld install MySQL5.7.24 --defaults-file="F:\\mysql5.7.24\\mysql-5.7.24-winx64\\my.ini"

 

 6.先不急启动服务,打开注册表【win+R ->regedit】,查找mysql5.7.24,将值修改为

F:\\mysql5.7.24\\mysql-5.7.24-winx64\\bin\\mysqld --defaults-file=F:\\mysql5.7.24\\mysql-5.7.24-winx64\\my.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参数的作用是,用来控制其通信缓冲区的最大长度

 终于完事!!!

 【文中有简洁其他博主的内容】

 

以上是关于一台计算机安装两个版本的MySQL的主要内容,如果未能解决你的问题,请参考以下文章

如何在一台服务器上安装两个mysql或者更多

linux中怎么查看mysql数据库版本

如何在一台电脑上安装两个python版本

Win10一台电脑安装多个版本的Mysql数据库教程

mysql多实例+mycat+mycatweb

如何安装多个mysql 或者如何更改mysql服务名