set binlog config in mysql

keep max binlog file size to 100M. and rotate then in 10 days
This commit is contained in:
Girish Ramakrishnan
2021-02-23 14:24:40 -08:00
parent 013669e872
commit 9ccd82ce4e
4 changed files with 43 additions and 2 deletions

View File

@@ -178,7 +178,11 @@ systemctl start nginx
# restart mysql to make sure it has latest config # 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 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 # 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 while true; do
if ! systemctl list-jobs | grep mysql; then break; fi if ! systemctl list-jobs | grep mysql; then break; fi
echo "Waiting for mysql jobs..." echo "Waiting for mysql jobs..."

View File

@@ -15,6 +15,10 @@ collation-server = utf8mb4_unicode_ci
# set timezone to UTC # set timezone to UTC
default_time_zone='+00:00' default_time_zone='+00:00'
# keep mysql binlogs under check
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump] [mysqldump]
quick quick
quote-names quote-names

33
setup/start/mysql/8.0.cnf Normal file
View File

@@ -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

View File

@@ -16,7 +16,7 @@ exports = module.exports = {
// docker inspect --format='{{index .RepoDigests 0}}' $IMAGE to get the sha256 // docker inspect --format='{{index .RepoDigests 0}}' $IMAGE to get the sha256
'images': { 'images': {
'turn': { repo: 'cloudron/turn', tag: 'cloudron/turn:1.3.0@sha256:386fb755fc41edd7086f7bcb230f7f28078936f9ae4ead6d97c741df1cc194ae' }, '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' }, 'postgresql': { repo: 'cloudron/postgresql', tag: 'cloudron/postgresql:4.0.0@sha256:650377a01f66017fce67e8ad3dba52508acb27e71a35139e35c94c45efa598d9' },
'mongodb': { repo: 'cloudron/mongodb', tag: 'cloudron/mongodb:4.0.0@sha256:c2d3ac567c5af79a9d470a8ff53938a4b6dad826ecbdd192a716a4c5e558ff3e' }, 'mongodb': { repo: 'cloudron/mongodb', tag: 'cloudron/mongodb:4.0.0@sha256:c2d3ac567c5af79a9d470a8ff53938a4b6dad826ecbdd192a716a4c5e558ff3e' },
'redis': { repo: 'cloudron/redis', tag: 'cloudron/redis:3.0.0@sha256:88ef97f2e655982c16865c0a5ffac005f891b230f8864d779c32175f8b9b3b18' }, 'redis': { repo: 'cloudron/redis', tag: 'cloudron/redis:3.0.0@sha256:88ef97f2e655982c16865c0a5ffac005f891b230f8864d779c32175f8b9b3b18' },