MySQL工具

在 M 系列 Mac 上跑 MySQL 5.7

想在本地装一个和生产一致的老版本 MySQL,Homebrew 已经没有 5.7 了,8.0 也只给最新的小版本。用 Docker 最省事:

yaml
services:
  mysql57:
    image: mysql:5.7.44
    platform: linux/amd64   # 5.7 没有 arm64 镜像,靠模拟运行
    ports: ["3357:3306"]
    environment:
      MYSQL_ROOT_PASSWORD: root
  mysql80:
    image: mysql:8.0.20
    platform: linux/amd64
    ports: ["3380:3306"]
    environment:
      MYSQL_ROOT_PASSWORD: root

端口错开,用容器自带的客户端连就不会有版本不匹配的问题:

shell
docker compose exec mysql57 mysql -uroot -proot

比版本号更重要的是配置:隔离级别、sql_mode、binlog_format、lower_case_table_names 跟生产对齐,实验结果才可信。

esc