ubuntuusers.de

OTRS mit MYSQL Datenbank innodb_log_file_size

Status: Gelöst | Ubuntu-Version: Server 14.04 (Trusty Tahr)
Antworten |

tobmes

Anmeldungsdatum:
7. Februar 2013

Beiträge: Zähle...

Hi Experten,

ich bin gerade dabei, OTRS auf meinem VServer zu installiern. Auf dem Server läuft bereits eine DB und der Apache, beide funktionieren ohne Probleme. Der installer von OTRS beschwert sich jetzt, dass innodb_log_file_size nur 5MB groß ist, es aber min. 256MB sein sollen. Ich habe bis jetzt das hier gemacht.

SQL-Server gstoppt. ib_logfile verschoben in der my.cnf innodb_log_file_size = 265M gesetzt Server neu gestartet

Leider ohne Erfolg. Der installer beschwert sich immernoch.

Hat jemand eine Idee, was ich da falsch mache.

Danke schon mal für die Hilfe.

Hoerbert

Avatar von Hoerbert

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 375

Moin tobmes,

hast du mal in einer MySQL-Kommandozeile per

1
show variables like 'innodb_log_file_size';

geschaut, ob die Größe auch tatsächlich übernommen wurde? Normalerweise hast du nämlich alles richtig gemacht.

Gruß

Torben

tobmes

(Themenstarter)

Anmeldungsdatum:
7. Februar 2013

Beiträge: 44

Hi Torben,

nein hatte ich nicht gemacht, aber hier mal die Ausgabe, die mich jetzt etwas verwirrt:

1
2
mysql> show variables like 'inno_log_file_size';
Empty set (0.01 sec)

Hoerbert

Avatar von Hoerbert

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 375

Vergleich noch mal deinen und meinen Befehl 😉

Torben

tobmes

(Themenstarter)

Anmeldungsdatum:
7. Februar 2013

Beiträge: 44

Das war natürlich nur ein Test 😬

Ich kann noch nicht mal richtig abschreiben ☹

Hier nochmal die richtige Ausgabe:

1
2
3
4
5
6
7
mysql> show variables like 'innodb_log_file_size';
+----------------------+---------+
| Variable_name        | Value   |
+----------------------+---------+
| innodb_log_file_size | 5242880 |
+----------------------+---------+
1 row in set (0.00 sec)

Muss man innodb nochmal gesondert irgendwo aktivieren?

Scheint ja nicht zu klappen.

Hoerbert

Avatar von Hoerbert

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 375

tobmes schrieb:

Scheint ja nicht zu klappen.

Korrekt. Das ist noch der Standard-Wert.

Muss man innodb nochmal gesondert irgendwo aktivieren?

Eigentlich nicht. Das ist schon seit Ewigkeiten die Standard-Storage-Engine von MySQL.

Zeig mal den Output von

1
cat /etc/mysql/my.cnf

anrub

Avatar von anrub

Anmeldungsdatum:
4. Januar 2013

Beiträge: 336

Was sagt denn außerdem das MySQL-Logfile? Da müsste ja auch was von der log file Größe stehen.

Grüße anrub

tobmes

(Themenstarter)

Anmeldungsdatum:
7. Februar 2013

Beiträge: 44

So hier mal meine my.cnf:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/etc/mysql/my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0


#innodb
innodb_log_file_size            = 512M
#innodb_buffer_pool_size                = 800M

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
#
# * Fine Tuning
#
key_buffer              = 16M
max_allowed_packet      = 20M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries       = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
 innodb_log_file_size = 265M
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer              = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

Hoerbert

Avatar von Hoerbert

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 375

Hmm... sieht eigentlich richtig aus.

Zeig mal bitte die Ausgabe von

1
ls /etc/mysql/conf.d/

Und wie anrub schon sagte: Das mysql-Logfile könnte da tatsächlich auch weiterhelfen.

tobmes

(Themenstarter)

Anmeldungsdatum:
7. Februar 2013

Beiträge: 44

Hier mal der Inhalt von /etc/mysql/conf.d

1
2
3
4
5
6
ls -la /etc/mysql/conf.d/
total 12
drwxr-xr-x 2 root root 4096 Nov  2 11:08 .
drwxr-xr-x 3 root root 4096 Jan  7 21:09 ..
-rw-r--r-- 1 root root    0 Feb 20  2014 .keepme
-rw-r--r-- 1 root root   21 Feb 20  2014 mysqld_safe_syslog.cnf

Das normale Log ist leider leer!? Dafür habe ich aber jetzt einen Eintrag in der mysql.error

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
160107 21:14:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
160107 21:14:53 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
160107 21:14:53 [Note] /usr/sbin/mysqld (mysqld 5.5.46-0ubuntu0.14.04.2-log) starting as process 12943 ...
160107 21:14:53 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
160107 21:14:53 [Note] Plugin 'FEDERATED' is disabled.
160107 21:14:53 InnoDB: The InnoDB memory heap is disabled
160107 21:14:53 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160107 21:14:53 InnoDB: Compressed tables use zlib 1.2.8
160107 21:14:53 InnoDB: Using Linux native AIO
160107 21:14:53 InnoDB: Initializing buffer pool, size = 128.0M
160107 21:14:53 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 277872640 bytes!
160107 21:14:53 [ERROR] Plugin 'InnoDB' init function returned error.
160107 21:14:53 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160107 21:14:53 [ERROR] Unknown/unsupported storage engine: InnoDB
160107 21:14:53 [ERROR] Aborting

160107 21:14:53 [Note] /usr/sbin/mysqld: Shutdown complete

160107 21:14:53 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Hatte den Server jetzt mal mittels /ect/init.d/mysql restart neu gestartet.

EDIT:

Jetzt geht es plötzlich. Keine Ahnung warum. 😲

Danke euch vielmal für eure Hilfe 👍

Hoerbert

Avatar von Hoerbert

Anmeldungsdatum:
3. Oktober 2007

Beiträge: 375

OK, mysql beschwert sich, dass die Datei ib_logfile0 eine andere Größe hat (nämlich die standard-mäßigen 5MB), als in der my.cnf angegeben (nämlich die von dir konfigurierten 265MB). Welche Dateien hattest du verschoben, als du

ib_logfile verschoben

hast? Normalerweise legt mysql da zwei von an, die müssen natürlich beide weg.

Und der Dienst dürfte jetzt eigentlich nicht mehr laufen. Korrekt?

tobmes

(Themenstarter)

Anmeldungsdatum:
7. Februar 2013

Beiträge: 44

Genau war richtig, der Server startete nicht mehr. ich hatte vorher immer mv ib_logfile[01} /tmp ausgeführt. Nachdem ich den Server mit /etc/init.d/mysql restart neu gestartet hatte und die ib_logfiles verschoben hatte ging dann auch alles.

Antworten |