网站改版思路,企业所得税怎么征收2021税率,开发一个小程序需要多久,网站建设程序源码在平常的开发工作中#xff0c;我们经常需要用到 mysql 数据库。那么在docker容器中#xff0c;应该怎么安装mysql数据库呢。简单来说#xff0c;第一步#xff1a;拉取镜像#xff1b;第二步#xff1a;创建挂载目录并设置 my.conf#xff1b;第三步#xff1a;启动容… 在平常的开发工作中我们经常需要用到 mysql 数据库。那么在docker容器中应该怎么安装mysql数据库呢。简单来说第一步拉取镜像第二步创建挂载目录并设置 my.conf第三步启动容器第四步测试连接。 1拉取镜像docker pull mysql:版本 选择合适的mysql版本如 拉取8.0.33版本docker pull mysql:8.0.33如果拉取镜像拉取不成功那么可以修改宿主机 Docker 的配置文件 /etc/docker/daemon.json修改镜像加速器配置。拉取成功后可以通过 docker images mysql 命令查看 2创建挂载目录 并 配置 my.conf 1创建挂载目录 mkdir -p /docker/mysql/conf mkdir -p /docker/mysql/data mkdir -p /docker/mysql/log 2创建 my.conf 并配置内容在 conf 文件夹 下新建 my.conf 文件配置内容如下
[client]
default-character-setutf8mb4[mysql]
default-character-setutf8mb4[mysqld]
# 设置东八区时区
default-time_zone 8:00# 设置密码验证规则
authentication_policymysql_native_password# 限制导入和导出的数据目录
# 为空不限制导入到处的数据目录
# 指定目录必须从该目录导入到处且MySQL不会自动创建该目录
# 为NULL禁止导入与导出功能
secure_file_priv/var/lib/mysqlinit_connectSET collation_connection utf8mb4_general_ci
init_connectSET NAMES utf8mb4
character-set-serverutf8mb4
collation-serverutf8mb4_general_ci
skip-character-set-client-handshake
sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-name-resolve
max_connections1000
# lower_case_table_names1
skip-log-bin 3启动容器 1) docker run
docker run --name mysql-8.0.33 \-e MYSQL_ROOT_PASSWORDyour_password \-e MYSQL_CHARSETutf8mb4 \-e MYSQL_COLLATIONutf8mb4_unicode_ci \-p 3306:3306 \-v /docker/mysql:/var/lib/mysql \-d mysql:8.0.33 命令解释 a--name mysql-8.0.33设置容器名称 b-e MYSQL_ROOT_PASSWORDyour_password设置root用户密码 c-e MYSQL_CHARSETutf8mb4为 MySQL 数据库设置字符集为 utf8mb4 d-e MYSQL_COLLATIONutf8mb4_unicode_ci数据库设置排序规则为 utf8mb4_unicode_ci e-p 3306:3306-p 用于将容器内部的端口映射到主机的端口将宿主机3306端口映射到容器3306端口 f-v /docker/mysql:/var/lib/mysqlv 是挂载选项用于将主机上的目录挂载到容器内部的目录实现数据的持久化存储。 g/data/mysql:/var/lib/mysql 表示将主机上的 /data/mysql 目录挂载到容器内的 /var/lib/mysql 目录这样容器内 MySQL 数据库的数据会存储在主机的 /data/mysql 目录中即使容器被删除数据也不会丢失。 h-d mysql:8.0.33表示以守护进程模式运行容器即容器将在后台运行。Docker 将从 Docker Hub 或本地镜像仓库拉取该镜像如果不存在则会先拉取再运行。 2docker-compose.yml命令 docker compose up -d mysql
version: 1
services:mysql:image: mysql:8.0.33restart: alwayscontainer_name: mysqlenvironment:MYSQL_ROOT_PASSWORD: your_passwordTZ: Asia/Shanghaiports:- 3306:3306volumes:- /docker/mysql/log:/var/log/mysql- /docker/mysql/data:/var/lib/mysql - /docker/mysql/conf:/etc/mysql/conf.dcommand:--max_connections1000--default-authentication-pluginmysql_native_password--character-set-serverutf8mb4--collation-serverutf8mb4_general_ciprivileged: truenetwork_mode: host 启动完成后可以使用 docker ps 命令查看当前容器启动状态可以 使用 docker logs 容器id 或者 docker logs mysql 查看启动日志。 4测试 使用数据连接客户端工具测试。 以上为 docker 下 部署 mysql 数据库的基本步骤。我们只有不断的学习才能遇见更好的自己加油美好的风景一直在路上。