docker创建mysql容器

一、配置文件

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

default-time_zone = '+8:00'
log_timestamps=SYSTEM

max_connections=1000

default-authentication-plugin=mysql_native_password

skip-host-cache
skip-name-resolve

datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock

#log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 注:utf8mb4可看做utf8的拓展,socket=/var/lib/mysql/mysql.sock不注释则需要增加使用-h ip登录

 

 

二、挂载映射:

docker run --name mysql8 -p 3306:3306 \
-v /home/mysql/conf:/etc/mysql/conf.d \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/files:/var/lib/mysql-files \
-v /home/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=lizhenfeng \
--network mynet -d mysql:8.0.19

-p 3306:3306:指定宿主机端口与容器端口映射关系

--name mysql:创建的容器名称

--restart=always:总是跟随docker启动

--privileged=true:获取宿主机root权限

--network [自定义网络]:设置网络
-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器
-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器
-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。

-v /home/mysql/files:/var/lib/mysql-files:没有这个挂载会报错
-e MYSQL_ROOT_PASSWORD=xxxxxx:指定mysql环境变量,root用户的密码为xxxxxx,自己设置

-d mysql:latest:后台运行mysql容器,需要跟版本
参考链接:https://blog.csdn.net/qq_42971035/article/details/127831101

注:如果启动失败将-d后台运行换成-it交互模式查看运行情况

posted @ 2023-11-03 18:08  此时不卷何时卷  阅读(51)  评论(0编辑  收藏  举报