一、为什么想要安装多个版本?
如果你发现自身的mysql太低,不能完好的导入sql文件,又因为原本的mysql的存储重要数据,于是多开的mysql的想法出现,其实就是开个其他的端口,不要和原本的3306冲突就行。
二、MySQL 8.0下载
- MySQL 8.0下载地址:https://dev.mysql.com/downloads/mysql/
- 下载原始mysql版本解压到指定目录中,这里最好和原本的mysql版本平行目录,方便找
三、安装
(1)关闭其他mysql服务
-
最好把其他mysql服务停掉,为多开的mysql添加环境变量
-
计算机右键管理进入此页面。双击服务进入该页面。右击关闭
- 为多开的Mysql添加环境变量
(2)填写my.ini文件
- 解压的官网没有ini文件。我们可以从其他版本复制过来,把里面的内容清空,填写下面内容因为是多开,所以这里需要换个端口。
[mysqld]
# 设置3307端口,为了与旧版本的区分不冲突
port=3307
# 设置mysql的安装目录
# 切记此处一定要用斜杠\,我这里是斜杠可以用
basedir=D:\python\mysql\mysql-8.0.36-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\python\mysql\mysql-8.0.36-winx64\data
# 允许最大连接数
max_connections=300
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL8.0.4之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。
# 但因为当前有很多数据库工具和链接包都不支持“caching_sha2_password”,为了方便,我暂时改回了“mysql_native_password”认证插件。
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# SQL MODE设置,去掉了only_full_group_by
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=UTF8MB4
(3)初始化数据库
- 进入管理员命令指示符(在我们所要的MYSQ版本下bin目录下运行cmd),
- 输入
mysqld --initialize-insecure --user=mysql
,初始化数据库,并设置默认root为空,初始化完成后,在mysql根目录中会自动生成data文件.上面的data文件这时候就自动生成了。
(4)注册mysql服务到系统上
- 如果第一个命令有问题,建议直接输入第二个
mysqld install MYSQL8 --defaults-file=D:/python/MySQL/mysql-8.0.28-winx64/my.ini
mysqld install MYSQL8
- 我直接第一个就成功了
- 可以看见各个地方都有MySQL8了
(5)MySQL启动
- 输入
net start mysql8
,我直接就是一个回车,MySQL启动
出现上面结果,就是安装成功了
四、测试
- 密码是在初始化生成的,在前面有提到,P是我们指定的端口,密码默认为空,直接回车进去,
mysql -P3307 -uroot -p
- 直接两个MySQL都启动
- 通过navicat来连接
- 可以看出,两个都连接成功了