MySQL 安装
<h1>镜像地址</h1>
<p><code>https://hub.docker.com/_/mysql</code>
<code>docker-compose.yml</code></p>
<h1>mysql5</h1>
<pre><code>version: &quot;3&quot;
services:
mysql:
image: mysql:5.7
container_name: mysql5.7
#使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限
#设置为true,不然数据卷可能挂载不了,启动不起
privileged: true
restart: unless-stopped
ports:
- &quot;33060:3306&quot;
environment:
MYSQL_ROOT_PASSWORD: you_password
TZ: Asia/Shanghai
command: --wait_timeout=31536000
--interactive_timeout=31536000
--max_connections=1000
--default-authentication-plugin=mysql_native_password
volumes:
#映射mysql的数据目录到宿主机,保存数据
- &quot;./data:/var/lib/mysql&quot;
#根据宿主机下的配置文件创建容器
- &quot;./config/my.cnf:/etc/mysql/my.cnf&quot;
</code></pre>
<h1>mysql9</h1>
<pre><code>version: &quot;3&quot;
services:
mysql:
image: mysql:9.2.0
container_name: mysql9
#使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限
#设置为true,不然数据卷可能挂载不了,启动不起
privileged: true
restart: unless-stopped
ports:
- &quot;3306:3306&quot;
environment: # 定义系统值
MYSQL_ROOT_PASSWORD: you_password # root密码
#MYSQL_PASSWORD: you_password # 设置密码
volumes:
#映射mysql的数据目录到宿主机,保存数据
- &quot;./data:/var/lib/mysql&quot;
#根据宿主机下的配置文件创建容器
- &quot;./config/my.cnf:/etc/mysql/my.cnf&quot;
</code></pre>
<p>my.cnf</p>
<pre><code>[client]
# 客户端来源数据的默认字符集
default-character-set=utf8mb4
[mysqld]
# 服务端默认字符集
character-set-server=utf8mb4
# 连接层默认字符集
collation-server=utf8mb4_unicode_ci
[mysql]
# 数据库默认字符集
default-character-set=utf8mb4
</code></pre>
<p>启动命令</p>
<pre><code>docker compose up -d</code></pre>