windows上同时安装两个版本的mysql数据库

在实际开发中,一些低版本数据库,不支持一些特殊的sql语句,因此高版本数据库数据导入低版本的时候就会出问题,因此,在一些特殊情况下,低版本数据库不能动,高版本mysql数据又无法导入低版本mysql,我们不得不在同一台机器上安装两个版本mysql.

低版本mysql不支持的sql语句举例,比如下面的这个:

CREATE TABLE `storage` (
  `storageid` INT(11) NOT NULL AUTO_INCREMENT,
  
  `createTime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  
  `updateTime` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  
  PRIMARY KEY (`storageid`)
) ENGINE=INNODB AUTO_INCREMENT=292 DEFAULT CHARSET=utf8 COMMENT='仓库'

在5.1版本的mysql上执行上面语句会报错

windows上同时安装两个版本的mysql数据库_第1张图片

而在5.7版本的mysql就支持双时间戳timestamp.可以正常执行上述sql语句

windows上同时安装两个版本的mysql数据库_第2张图片

 

正文正式开始:

一 先停止之前安装的低版本mysql服务:

二 将我其他电脑上安装好的mysql5.7拷贝过来(我在其他电脑上安装过mysql-5.7.22-winx64.zip版本)

windows上同时安装两个版本的mysql数据库_第3张图片

三 拷贝过来之后,进入该文件夹,删除掉data目录,然后打开my.ini,进行修改端口号,端口号改为3307,basedir和datadir也要重新配一下

windows上同时安装两个版本的mysql数据库_第4张图片

 

修改内容如图:

windows上同时安装两个版本的mysql数据库_第5张图片

配置文件内容想要的可以拿去:------>

[mysqld]
port = 3307
basedir=C:\mysql-5.7.22-winx64
datadir=C:\mysql-5.7.22-winx64\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8

 

四 开始执行安装和添加服务的步骤:

4.1 以管理员身份去运行命令行窗口

windows上同时安装两个版本的mysql数据库_第6张图片

4.2 进入mysql5.7的bin目录下

windows上同时安装两个版本的mysql数据库_第7张图片

4.3 安装mysql服务,指定该mysql服务名为mysql2,并根据my.ini文件进行安装,命令如下:

C:\mysql-5.7.22-winx64\bin>mysqld install mysql2 --default-file="C:\mysql-5.7.22-winx64\my.ini"

成功安装后会提示:
Service successfully installed.

去服务里面,可查看到此时多了一个mysql2服务

五 初始化数据库

mysql服务安装成功后,就需要初始化数据库了,否则是无法启动服务的。

在bin目录下执行如下命令

C:\mysql-5.7.22-winx64\bin>mysqld --initialize

初始化成功后,命令行没有任何提示。但在mysql5.7文件夹中已自动生成了data目录

windows上同时安装两个版本的mysql数据库_第8张图片

六 打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql2,修改ImagePath参数,更正mysql2服务相关路径。

windows上同时安装两个版本的mysql数据库_第9张图片

修改ImagePath参数:

windows上同时安装两个版本的mysql数据库_第10张图片

七 启动数据库,修改密码

使用net start mysql2 命令启动mysql2服务

C:\mysql-5.7.22-winx64\bin>net start mysql2
mysql2 服务正在启动 .
mysql2 服务已经启动成功。

(若mysql2 启动失败,请检查自己是否已经停止了之前的mysql服务,见第一步)

mysql2服务启动后,去data/xxx.err文件中找到临时密码,进行登录

 

使用临时密码进行登录(注意:P 端口,p 密码

C:\mysql-5.7.22-winx64\bin>mysql -P3307 -uroot -p
Enter password: ************    (此处输入的是临时密码)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

修改密码

mysql> set password for root@localhost=password('001nX123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)

使用 quit 退出,使用新密码登录。

mysql> quit
Bye


C:\mysql-5.7.22-winx64\bin>mysql -P3307 -uroot -p
Enter password: *************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.22 MySQL Community Server (GPL)


结束。

你可能感兴趣的:(mysql)