目录前言1. 编写 Docker-compose.yml 文件2. 定义测试数据3. 定义启动文件4. 启停 Mysql前言 在日常开发中,数据库 mysql 是必不可少的,但是由于其繁琐的配置,安装 mysql 时总是
在日常开发中,数据库 mysql 是必不可少的,但是由于其繁琐的配置,安装 mysql 时总是不太顺利,还可能会踩坑。所以本文的目的,可以让你快速搭建一个 mysql 服务。
下面跟着以下教程,可以让你快速、流畅的安装 mysql 数据库,流程可分成 4 步。
创建 docker-compose.yml 文件,文件内容如下:
version: '3.1'
services:
mysql:
image: mysql:8
restart: always
# https://stackoverflow.com/a/49021165/7756877,使用默认的授权插件,
# mysql 8 默认使用 caching_sha2_passWord 作为授权插件,并非 mysql_native_password,
# 然而 mysql 驱动还不支持 caching_sha2_password,为了往后兼容所以要加这一行。
command: --default-authentication-plugin=mysql_native_password
ports:
- "7306:3306"
volumes:
- "./table.sql:/docker-entrypoint-initdb.d/01-init-table.sql"
environment:
MYSQL_ROOT_PASSWORD: mysql # root 用户的密码
MYSQL_DATABASE: lingmo # 默认创建 lingmo 数据库
MYSQL_USER: kele # 新建一个用户
MYSQL_PASSWORD: baishi2020 # 新建用户的密码
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
docker-compose 的 services 属性中定义的一个 mysql
--default-authentication-plugin
定义了一个默认插件 mysql_native_password
, 原因是: mysql 8 默认使用 caching_sha2_password 作为授权插件,并非 mysql_native_password,然而 mysql 驱动还不支持 caching_sha2_password,为了往后兼容所以要加这一行。kele。
baishi2020
。新建测试数据表 table.sql ,目的是在 mysql 启动时初始化数据。
DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
`student_id` varchar(255) NOT NULL,
`student_name` varchar(255),
`sex` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4;
INSERT INTO `students`(`student_id`, `student_name`, `sex`) VALUES(1, 'jake', 0), (2, 'jenery', 1);
以上表示新建一张 students
表,然后插入两条数据。
新建启动文件 set-env.sh
, 通过 docker-compose 启动 mysql 容器服务;然后通过 souce set-env.sh
把 mysql-local-dev 设置到环境变量中去。
#!/bin/bash
MYSQL_LOCAL_ENV_DIR="$( cd "$(dirname "$0")"; pwd -P )"
function mysql-local-dev() {
case $1 in
"up")
docker-compose -p lingmo -f "$MYSQL_LOCAL_ENV_DIR"/docker-compose.yml up -d
;;
"down")
docker-compose -p lingmo -f "$MYSQL_LOCAL_ENV_DIR"/docker-compose.yml down
;;
*)
echo 'mysql-local-dev [up | down]'
esac
}
启动 mysql 的三个文件已定义完成,目录结构为以下:
➜ local-mysql git:(main) ✗ tree .
.
├── docker-compose.yml
├── set-env.sh
└── table.sql
0 directories, 3 files
最后,我们测试下是否可启动 mysql。
mysql-local-dev up
说明 mysql 启动成功。
通过相应的账号、密码登录 mysql 即可。
mysql-local-dev down
到此这篇关于如何使用 docker 搭建一个 mysql 服务的文章就介绍到这了,更多相关 docker 搭建mysql 服务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
--结束END--
本文标题: 如何使用 docker 搭建一个 mysql 服务
本文链接: https://lsjlt.com/news/34204.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0