diff --git a/setup/start.sh b/setup/start.sh index 779600d6a..bd7e19fc1 100755 --- a/setup/start.sh +++ b/setup/start.sh @@ -178,7 +178,11 @@ systemctl start nginx # restart mysql to make sure it has latest config if [[ ! -f /etc/mysql/mysql.cnf ]] || ! diff -q "${script_dir}/start/mysql.cnf" /etc/mysql/mysql.cnf >/dev/null; then # wait for all running mysql jobs - cp "${script_dir}/start/mysql.cnf" /etc/mysql/mysql.cnf + if [[ "${ubuntu_version}" == "20.04" ]]; then + cp "${script_dir}/start/mysql/8.0.cnf" /etc/mysql/mysql.cnf + else + cp "${script_dir}/start/mysql/5.7.cnf" /etc/mysql/mysql.cnf + fi while true; do if ! systemctl list-jobs | grep mysql; then break; fi echo "Waiting for mysql jobs..." diff --git a/setup/start/mysql.cnf b/setup/start/mysql/5.7.cnf similarity index 87% rename from setup/start/mysql.cnf rename to setup/start/mysql/5.7.cnf index cce8eaef3..7f3897eb5 100644 --- a/setup/start/mysql.cnf +++ b/setup/start/mysql/5.7.cnf @@ -15,6 +15,10 @@ collation-server = utf8mb4_unicode_ci # set timezone to UTC default_time_zone='+00:00' +# keep mysql binlogs under check +expire_logs_days = 10 +max_binlog_size = 100M + [mysqldump] quick quote-names diff --git a/setup/start/mysql/8.0.cnf b/setup/start/mysql/8.0.cnf new file mode 100644 index 000000000..80e51c1e5 --- /dev/null +++ b/setup/start/mysql/8.0.cnf @@ -0,0 +1,33 @@ +!includedir /etc/mysql/conf.d/ +!includedir /etc/mysql/mysql.conf.d/ + +# http://bugs.mysql.com/bug.php?id=68514 +[mysqld] +performance_schema=OFF +max_connections=50 +# on ec2, without this we get a sporadic connection drop when doing the initial migration +max_allowed_packet=64M + +# https://mathiasbynens.be/notes/mysql-utf8mb4 +character-set-server = utf8mb4 +collation-server = utf8mb4_unicode_ci + +# set timezone to UTC +default_time_zone='+00:00' + +# keep mysql binlogs under check +binlog_expire_logs_seconds = 864000 +max_binlog_size = 100M + +[mysqldump] +quick +quote-names +max_allowed_packet = 16M +default-character-set = utf8mb4 + +[mysql] +default-character-set = utf8mb4 + +[client] +default-character-set = utf8mb4 + diff --git a/src/infra_version.js b/src/infra_version.js index 75cb76ad3..12d8259b9 100644 --- a/src/infra_version.js +++ b/src/infra_version.js @@ -16,7 +16,7 @@ exports = module.exports = { // docker inspect --format='{{index .RepoDigests 0}}' $IMAGE to get the sha256 'images': { 'turn': { repo: 'cloudron/turn', tag: 'cloudron/turn:1.3.0@sha256:386fb755fc41edd7086f7bcb230f7f28078936f9ae4ead6d97c741df1cc194ae' }, - 'mysql': { repo: 'cloudron/mysql', tag: 'cloudron/mysql:3.0.0@sha256:539736394014ccfbf159cf1d587ca53ee447cd0fed0166b279687aeed1ec99a5' }, + 'mysql': { repo: 'cloudron/mysql', tag: 'cloudron/mysql:3.0.1@sha256:1125c7dda5e9f82ff5f3ef0b634eed8820ce82d2c623da0491befbb0a6b3ccb2' }, 'postgresql': { repo: 'cloudron/postgresql', tag: 'cloudron/postgresql:4.0.0@sha256:650377a01f66017fce67e8ad3dba52508acb27e71a35139e35c94c45efa598d9' }, 'mongodb': { repo: 'cloudron/mongodb', tag: 'cloudron/mongodb:4.0.0@sha256:c2d3ac567c5af79a9d470a8ff53938a4b6dad826ecbdd192a716a4c5e558ff3e' }, 'redis': { repo: 'cloudron/redis', tag: 'cloudron/redis:3.0.0@sha256:88ef97f2e655982c16865c0a5ffac005f891b230f8864d779c32175f8b9b3b18' },