1. 下载MySQL的镜像文件
从 docker hub 官网搜索 MySQL
然后点击 Tags 查看那个版本支持 linux/arm64/v8 平台,对于 M1 芯片的电脑这个很重要!!!
特别注意:M1 芯片下载的镜像文件必须支持 linux/arm64/v8 平台,否则创建容器时会报错。如:MySQL的最新镜像是不支持 linux/arm64/v8 平台,创建容器会报如下警告:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
2. 下载镜像文件
拉取指定版本号的 MySQL 镜像文件,不指定版本号默认拉取的最新版本,目前最新版本不支持linux/arm64/v8 平台。
docker pull mysql:8.0.29-oracle
3. 创建 MySQL 实例
docker run -d -p 3306:3306 --privileged=true \
-v /Users/wenqi/mysql/log:/var/log/mysql \
-v /Users/wenqi/mysql/data:/var/lib/mysql \
-v /Users/wenqi/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-e LANG="C.UTF-8" \
--name mysql1 mysql:8.0.29-oracle
对上面的命令进行介绍:
- 以后台的方式运行实例:-d
- 配置端口映射:-p 3306:3306,将容器的3306端口映射到主机的3306端口
- 设置特权级运行的容器:--privileged=true
- 配置数据卷挂
- -v /Users/wenqi/mysql/log:/var/log/mysql 将容器中 MySQL 日志文件夹挂载到主机对应的 /Users/wenqi/mysql/log 文件夹中
- -v /Users/wenqi/mysql/data:/var/lib/mysql 将容器中 MySQL 数据文件夹挂载到主机对应的 /Users/wenqi/mysql/data 文件夹中
- -v /Users/wenqi/mysql/conf:/etc/mysql/conf.d 将容器中 MySQL 配置文件夹挂载到主机对应的 /Users/wenqi/mysql/conf 文件夹中
- 配置 root 用户密码:-e MYSQL_ROOT_PASSWORD=123456
- 设置字符为utf-8:-e LANG="C.UTF-8" 不配置无法输入中文
- 指定实例的名字:--name=mysql1
- 指定创建实例的镜像:mysql:8.0.29-oracle
4. 进入容器后台,连接数据库
docker exec -it mysql1 /bin/bash
- exec:执行命令(/bin/bash)
- -i:以交互模式运行容器
- -t:为容器重新分配一个伪输入终端
- mysql1:实例名,也可以指定实例 ID
mysql -uroot -p
用 root 用户连接数据库,密码为上面配置的 123456
恭喜!!!成功进入 MySQL 的客户端啦 !!!可以进行 SQL 语句的测试了