Last active
April 3, 2023 06:37
-
-
Save fenying/4b95e5f91c08d77ea0447a06cec23c44 to your computer and use it in GitHub Desktop.
Run MySQL server by docker with configurations
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3" | |
services: | |
mysql.loc: | |
container_name: "mysql.loc" | |
image: "mysql:5.7" | |
deploy: | |
resources: | |
limits: | |
cpus: '0.50' | |
memory: 500M | |
reservations: | |
cpus: '0.01' | |
memory: 50M | |
volumes: | |
- ./data:/var/lib/mysql | |
- ./conf/my.cnf:/etc/mysql/conf.d/my.cnf | |
network_mode: "host" | |
environment: | |
- LANG=C.UTF-8 # Allow input Chinese/Japanses, see https://t.me/funny_codes/20 | |
- MYSQL_ROOT_PASSWORD=mylocaldb | |
ulimits: | |
nofile: | |
soft: 20000 # Prevent from case of infinite error, see https://t.me/funny_codes/52 | |
hard: 40000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This script will pull down the latest mysql 5.7 and run a container. | |
LOCAL_MYSQL_ROOT=/docker/mysql/data # The local mysql data directory. | |
LOCAL_MYSQL_CNF_DIR=/docker/mysql/conf.d # The local mysql configuration directory. | |
LOCAL_MYSQL_PORT=3306 # The exported port of mysql. | |
LOCAL_MYSQL_ADDR=0.0.0.0 | |
DOCKER_MAX_MEMORY=512m | |
DOCKER_MAX_CPUS=1 | |
DOCKER_MYSQL_ROOT=/var/lib/mysql | |
DOCKER_MYSQL_CNF_DIR=/etc/mysql/conf.d | |
DOCKER_MYSQL_NAME="mysql-server" | |
DOCKER_MYSQL_PORT=3306 | |
ROOT_PASSWORD="<password>" | |
docker pull mysql:5.7 | |
docker run \ | |
-m $DOCKER_MAX_MEMORY \ | |
--cpus=$DOCKER_MAX_CPUS \ | |
--cpuset-cpus="0" \ | |
--name $DOCKER_MYSQL_NAME \ | |
--restart always \ | |
-p$LOCAL_MYSQL_ADDR:$LOCAL_MYSQL_PORT:$DOCKER_MYSQL_PORT \ | |
-v$LOCAL_MYSQL_ROOT:$DOCKER_MYSQL_ROOT \ | |
-v$LOCAL_MYSQL_CNF_DIR:$DOCKER_MYSQL_CNF_DIR \ | |
-e MYSQL_ROOT_PASSWORD="$ROOT_PASSWORD" \ | |
-d mysql:5.7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[client] | |
default-character-set=utf8mb4 | |
[mysqld] | |
character-set-client-handshake = FALSE | |
character-set-server = utf8mb4 | |
collation-server = utf8mb4_unicode_ci | |
default-time-zone = '+08:00' | |
[mysql] | |
default-character-set=utf8mb4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment