执行集成测试mysql使用docker部署

执行集成测试mysql使用docker部署

集成测试需要根据测试用例,使用flywayDB管理数据库的脚本信息,每次生产上线前,必须通过集成测试,验证数据的准确性,所以每次集成测试都是使用的docker的数据库实例mysql-5.7.16-instance-group1。

备注 这里不是完整项目的配置信息,只是跟docker-mysql相关的配置

使用docker compose启动脚本

-rw-r--r-- 1 root  root   312 115 10:47 docker-compose-mysql.yml
-rw-r--r-- 1 root  root   624 115 17:06 mysqld_charset.cnf
[root@wallbase ~]# docker-compose -f docker-compose-mysql.yml up -d

mysql迁移使用docker部署

  • TZ: “Asia/Shanghai” 时区配置,默认是零时区所以需要自己修改
  • “/data/mysql/data:/var/lib/mysql” mysql数据库持久化到宿主机磁盘上(其实测试是不需要保存到磁盘的,但是出于其他情况考虑数据会保留一个月)。

docker-compose-mysql.yml

version: "2.0"
services:
  mysqldb:
    image: mysql:5.7.16
    container_name: mysql-5.7.16
    restart: always
    ports:
      - "3306:3306"
    environment:
      TZ: "Asia/Shanghai"
    volumes:
       - "/data/mysql/data:/var/lib/mysql"
       - "./mysqld_charset.cnf:/etc/mysql/conf.d/mysqld_charset.cnf"

mysql配置的注意内容

  • autocommit = 1 默认提交事务,该配置文件是放在/etc/mysql/conf.d的配置项会覆盖之前的配置项

mysqld_charset.cnf

[client]
default-character-set          = utf8

[mysql]
default-character-set          = utf8mb4

[mysqld]
port                           = 3306
autocommit                     = 1
#character_set_filesystem      = utf8
character_set_server           = utf8
collation-server               = utf8_general_ci
init-connect                   = 'SET NAMES utf8'
init_connect                   = 'SET collation_connection = utf8_general_ci'
skip-character-set-client-handshake
max_allowed_packet             = 100M
default-storage-engine         = INNODB
sql_mode                       = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值