博文目录
文章目录
- 说明
- 前置
- 命令
说明
Docker Hub MySQL
| 数据卷 | 印射容器内的路径 |
|---|---|
| mysql | /var/lib/mysql |
| mysql.conf | /etc/mysql/conf.d |
| 容器内的路径 | 说明 |
|---|---|
| /var/lib/mysql | 数据目录 |
| /etc/mysql/conf.d/my.cnf | 配置文件 |
| 部分环境变量 | 是否必要 | 说明 |
|---|---|---|
| MYSQL_ROOT_PASSWORD | 必需 | 设置超级用户 root 的密码 |
前置
创建如下内容的 my.cnf 配置文件, 放到卷 mysql.conf 下, 按需修改
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
# 设置3306端口
port=3306
# 服务端使用的字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
命令
docker pull mysql:8.3.0
docker volume create mysql
docker volume create mysql.conf
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=Mrv587.. -v mysql:/var/lib/mysql -v mysql.conf:/etc/mysql/conf.d mysql:8.3.0
# 查看日志
docker logs mysql
# 跟踪日志
docker logs -f mysql
docker logs --follow mysql
# 查看最后10条日志
docker logs --tail 10 mysql
# 查看最近10分钟的日志
docker logs --since 10m mysql
# 进入容器并执行 bash
docker exec -it mysql bash
# 退出容器
exit# 进入客户端, 不接受明文密码
mysql -u root -p
# 退出客户端
exit# 直接从主机进入客户端
docker exec -it mysql mysql -u root -p