docker-compose安装mysql5.7并初始化sql
·
关注我了解更多编程知识,国产编程语言仓颉 Cangjie
注意
只有容器首次启动时才会执行/docker-entrypoint-initdb.d下的文件
若非首次启动,删除挂在的data目录,再新建data
原理
参考
/docker-entrypoint-initdb.d
对此目录下的sql文件按照字母顺序执行
compose
version: '3'
services:
anji-mysql7:
image: mysql:5.7
container_name: mysql7
restart: always
environment:
MYSQL_ROOT_PASSWORD: mysql_pwd
TZ: Asia/Shanghai
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M;
ports:
- 49157:3306
volumes:
- ./mysql/init:/docker-entrypoint-initdb.d
- ./mysql/sql:/sql
- ./mysql/data:/var/lib/mysql
./mysql/init/userme.sql
DROP DATABASE IF EXISTS `userme`;
CREATE DATABASE IF NOT EXISTS `userme` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
use `userme`;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (1, 'xcrj1', 'pwd1');
INSERT INTO `users` VALUES (2, 'xcrj2', 'pwd2');
INSERT INTO `users` VALUES (3, 'xcrj3', 'pwd3');
SET FOREIGN_KEY_CHECKS = 1;
./mysql/init/roleme.sql
DROP DATABASE IF EXISTS `roleme`;
CREATE DATABASE IF NOT EXISTS `roleme` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
use `roleme`;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for roles
-- ----------------------------
DROP TABLE IF EXISTS `roles`;
CREATE TABLE `roles` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of roles
-- ----------------------------
INSERT INTO `roles` VALUES (1, 'admin');
INSERT INTO `roles` VALUES (2, 'common');
INSERT INTO `roles` VALUES (3, 'visitor');
SET FOREIGN_KEY_CHECKS = 1;
更多推荐
所有评论(0)