Skip to content

Instantly share code, notes, and snippets.

@jrichardsz
Last active September 11, 2023 20:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrichardsz/73142c5c7eb7136d80b165e75d3a1e22 to your computer and use it in GitHub Desktop.
Save jrichardsz/73142c5c7eb7136d80b165e75d3a1e22 to your computer and use it in GitHub Desktop.
docker mysql

option 1 : persist db files

docker run --name mysql -p 3306:3306 -v /foo/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abcdefg -d mysql:5.7.17

option 2 : with charset

docker run -d -p 3306:3306 --name database -v /foo/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

option 3 : with timezone

docker run -d -p 3306:3306 --name mysql -v /foo/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -e TZ=America/Lima mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

option 4

export MYSQL_ROOT_PASSWORD=supersecret
export MYSQL_PASSWORD=changeme
export MYSQL_USER=joe
export MYSQL_DATABASE=acme
# folder with some sql dump (without create statement)
export DATABASE_CREATE_SQL=/foo/bar/database

docker run -d -p 3306:3306 \
-v $DATABASE_CREATE_SQL:/docker-entrypoint-initdb.d \
-v /opt/mysql_data:/var/lib/mysql \
--name mysql-5-7 \
-e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD \
-e MYSQL_USER=$MYSQL_USER \
-e MYSQL_PASSWORD=$MYSQL_PASSWORD \
-e MYSQL_DATABASE=$MYSQL_DATABASE \
--restart=always \
mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

option 5: limited ram

https://stackoverflow.com/a/69906588/3957754

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment