文章目录
说明
数据卷 | 印射容器内的路径 |
---|---|
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 下, 按需修改
shell
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
# 设置3306端口
port=3306
# 服务端使用的字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
命令
shell
docker pull mysql:8.3.0
shell
docker volume create mysql
docker volume create mysql.conf
shell
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
shell
# 查看日志
docker logs mysql
# 跟踪日志
docker logs -f mysql
docker logs --follow mysql
# 查看最后10条日志
docker logs --tail 10 mysql
# 查看最近10分钟的日志
docker logs --since 10m mysql
shell
# 进入容器并执行 bash
docker exec -it mysql bash
# 退出容器
exit
# 进入客户端, 不接受明文密码
mysql -u root -p
# 退出客户端
exit
# 直接从主机进入客户端
docker exec -it mysql mysql -u root -p