AI摘要
正在生成中...
前段时间有个面试题,要求 MySQL 版本为 5.7,而我本机上是 9.5 的版本,所以研究了一下怎么共存。
初始化配置文件
首先,从官网上下载一个 MySQL 5.7 版本的压缩包,解压到合适的路径。我这里是放到了F:\APP\MySQL\mysql-5.7.44-winx64
需要新建两个文件,文件地址任意,建议按照自己的规范来
my.ini配置文件- Data 文件夹,我创建的是
mysql57_data
配置文件的内容如下,直接复制即可
[mysqld]# 1. 端口隔离:3308(避开9.5的3306)port=3308# 2. 安装目录(无空格)basedir=F:\APP\MySQL\mysql-5.7.44-winx64# 3. 数据目录datadir=F:\APP\MySQL\mysql57_data# 4. 进程隔离:避免和9.5共用进程文件pid-file=F:\APP\MySQL\mysql57_data\mysql57.pid# 5. 套接字隔离(共存关键,避免和9.5冲突)socket=F:\APP\MySQL\mysql57_data\mysql57.sock# 6. 连接数(保留你的配置)max_connections=200max_connect_errors=10# 7. 5.7兼容utf8mb4的完整配置(缺一不可)character-set-server=utf8mb4collation-server=utf8mb4_general_ciinit_connect='SET NAMES utf8mb4'# 8. 存储引擎/认证插件(保留你的配置)default-storage-engine=INNODBdefault_authentication_plugin=mysql_native_password# 9. 跳过符号链接(5.7必填,避免路径解析错误)skip-symbolic-links
[mysql]default-character-set=utf8mb4
[client]# 客户端端口匹配3308port=3308default-character-set=utf8mb4# 客户端套接字隔离socket=F:\APP\MySQL\mysql57_data\mysql57.sock请确保basedir和datadir按实际路径填写,端口号分隔开
还有一个问题,就是在记事本中选择另存,将字符串编码从 utf 8 改成ANSI编码。否则会报错error: Found option without preceding group in config file
初始化 MySQL
在 mysql-5.7.44-winx64 文件夹下以管理员身份运行终端,输入以下命令
./mysqld --defaults-file="F:\APP\MySQL\mysql-5.7.44-winx64\my.ini" --initialize --console成功后,会返回临时密码,请记住此密码。
安装 MySQL
./mysqld install MySQL57 --defaults-file="F:\APP\MySQL\mysql-5.7.44-winx64\my.ini"安装成功后,执行启动命令
net start MySQL57不出意外的话,终端会正常启动 MySQL 57
补充说明
这里需要设置密码,毕竟此时密码是临时的
我使用的是 navicat,所以链接上数据库后自动让我重新设置密码了。你也可以使用命令进行重置
在电脑上共存MySQL
阅读量: --
评论数:--
