docker-compose.yml
注意点: - mysql的挂载配置文件, 需要注意 - 启动Mysql8后, 连接需要进入mysql进行用户配置
version: '3'
services:
db:
image: mysql:latest
restart: always
environment:
- MYSQL_DATABASE=test_db
- MYSQL_ROOT_PASSWORD=chenhaifeng
ports:
- "3306:3306"
volumes:
- ./bin/datas/mysql/:/var/lib/mysql
- ./bin/conf/mysql/my.cnf:/etc/mysql/my.cnf
- ./bin/datas/mysql-files:/var/lib/mysql-files/
depends_on:
- redis
container_name: db
redis:
restart: always
image: redis:latest
volumes:
- ./bin/datas/redis/:/data
ports:
- "6379:6379"
container_name: redis
elasticsearch:
image: elasticsearch:7.11.1
restart: always
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms512m -Xmx512m
ports:
- "9200:9200"
- "9300:9300"
container_name: elasticsearch
kibana:
image: kibana:7.11.1
restart: always
ports:
- "5601:5601"
depends_on:
- elasticsearch
links:
- elasticsearch
container_name: kibana
rabbitmq-master:
image: rabbitmq:management
hostname: rabbitmq-master
restart: always
ports:
- "15672:15672"
- "5672:5672"
container_name: rabbitmq-master
my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
# basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
# datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=50
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=50
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#default_authentication_plugin=mysql_native_password
#是否对sql语句大小写敏感,1表示不敏感
#lower_case_table_names=1
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout=1800
wait_timeout=1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout=3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size=64M
max_heap_table_size=64M
secure_file_priv=''
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
普通my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 服务器默认字符集
character-set-server=utf8mb4
# 服务器的默认排序规则
collation-server=utf8mb4_general_ci