Elleni Veteran
Joined: 23 May 2006 Posts: 1270
|
Posted: Wed Jul 18, 2018 9:57 pm Post subject: [solved] Recent update of mariadb broke my nextcloud |
|
|
Symptom: login page loads fine, but when trying to login, an internal server error is shown on the webpage. Only my nextcloud page is affected. roundcube and drupal are working fine with new mariadb version.
Updated version of mariadb: dev-db/mariadb-10.1.34
Reverted to mariadb-10.1.31-r1 and copied backup my.cnf and my nextcloud login is working again.
Does anyone know, where that comes from? And what nextcloud needs to function correctly with updated mariadb?
dispatch-conf of my.cnf after upgrade:
Code: | --- /etc/mysql/my.cnf 2017-06-04 11:30:29.514872494 +0200
+++ /etc/mysql/._cfg0000_my.cnf 2018-07-18 22:00:57.230742312 +0200
@@ -1,5 +1,4 @@
# /etc/mysql/my.cnf: The global mysql configuration file.
-# $Id$
# The following options will be passed to all MySQL clients
[client]
@@ -8,34 +7,34 @@
socket = /var/run/mysqld/mysqld.sock
[mysql]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
default-character-set=utf8
[mysqladmin]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
default-character-set=utf8
[mysqlcheck]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
default-character-set=utf8
[mysqldump]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
default-character-set=utf8
[mysqlimport]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
default-character-set=utf8
[mysqlshow]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
default-character-set=utf8
[myisamchk]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
[myisampack]
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
# use [safe_mysqld] with mysql-3
[mysqld_safe]
@@ -43,10 +42,6 @@
# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
[mysqld]
-[mysqld]
-innodb_large_prefix=on
-innodb_file_format=barracuda
-innodb_file_per_table=1
character-set-server = utf8
user = mysql
port = 3306
@@ -56,22 +51,23 @@
basedir = /usr
datadir = /var/lib/mysql
skip-external-locking
-key_buffer_size = 256M
-max_allowed_packet = 32M
+key_buffer_size = 16M
+max_allowed_packet = 4M
table_open_cache = 400
-sort_buffer_size = 2M
+sort_buffer_size = 512K
net_buffer_length = 16K
-read_buffer_size = 2M
-read_rnd_buffer_size = 8M
-myisam_sort_buffer_size = 64M
-lc_messages_dir = /usr/share/mysql
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+lc_messages_dir = /usr/share/mariadb
#Set this to your desired error message language
lc_messages = en_US
-binlog_format = MIXED
+
# security:
# using "localhost" in connects uses sockets by default
# skip-networking
bind-address = 127.0.0.1
+
log-bin
server-id = 1
@@ -92,7 +88,7 @@
# the rest of the innodb config follows:
# don't eat too much memory, we're trying to be safe on 64Mb boxes
# you might want to bump this up a bit on boxes with more RAM
-innodb_buffer_pool_size = 1G
+innodb_buffer_pool_size = 128M
#
# i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-(
# and upstream wants things to be under /var/lib/mysql/, so that's the route
@@ -107,7 +103,7 @@
# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size)
innodb_log_file_size = 48M
# this is the default, increase it if you have very large transactions going on
-innodb_log_buffer_size = 16M
+innodb_log_buffer_size = 8M
# this is the default and won't hurt you
# you shouldn't need to tweak it
innodb_log_files_in_group=2
@@ -129,13 +125,13 @@
#safe-updates
[isamchk]
-key_buffer_size = 256M
+key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
-key_buffer_size = 256M
+key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer_size = 2M
write_buffer_size = 2M |
Edit: Tried again, and this time, I took my old my.cnf and only changed the following and now its working:
Code: |
-character-sets-dir=/usr/share/mysql/charsets
+character-sets-dir=/usr/share/mariadb/charsets
-lc_messages_dir = /usr/share/mysql
+lc_messages_dir = /usr/share/mariadb
|
Does anyone know, which setting in new my.cnf is killing nextcloud? Or am I good with old my.cnf?
Edit 2: With diff I found out that the following setting was causing the problem with nextcloud:
Code: | -binlog_format = MIXED |
With new config coming with updated mariadb: As soon as I added binlog_format = MIXED, I can successfully login to my nextcloud |
|