仓库地址 https://gitee.com/infuq/infuq-dockerFile
语雀地址 https://www.yuque.com/infuq/others/ivmss0#o95lj
个人站点 https://www.infuq.com/
本意想通过Percona工具集中的pt-query-digest工具分析生产阿里云RDS MySQL的慢日志和通用日志,但是无法查看和下载该类日志文件,因此在本地机器使用Docker构建一个MySQL8.0.26的容器,用于学习pt-query-digest工具的使用.
1.Dockerfile文件内容
#镜像源
FROM mysql:8.0.26
USER root
# 设置MySQL的版本号/端口号/密码
ENV MYSQL_MAJOR=8.0
ENV MYSQL_VERSION=8.0.26
ENV MYSQL_PORT=3306
ENV MYSQL_ROOT_PASSWORD=9527
# 暴露MySQL的端口号
EXPOSE $MYSQL_PORT
# 启动MySQL服务
CMD ["mysqld"]
2.创建相关目录
mkdir -p /etc/mysql8.0/data
mkdir -p /etc/mysql8.0/conf
mkdir -p /etc/mysql8.0/tool
3.mysqld.cnf文件和percona-toolkit-2.2.17目录
mysqld.cnf文件内容
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
symbolic-links = 0
wait_timeout = 3200
interactive_timeout = 3200
4.构建
docker build -t mysql:8.0.26 ./
5.创建容器并启动
sudo docker run \
-d \
-p 3306:3306 \
-v /etc/mysql8.0/data:/var/lib/mysql \ #存放数据库数据和文件
-v /etc/mysql8.0/conf:/etc/mysql/conf.d \ #存放配置文件,例如配置客户端连接超时时间等
-v /etc/mysql8.0/tool:/home \ #存放第三方工具,例如percona-toolkit
-e MYSQL_ROOT_PASSWORD=9527 \
--name mysql8.0.26 \
mysql:8.0.26