Ich habe Probleme beim Festlegen der Größe des Pufferpools und der Protokolldatei für MySql InnoDB. Ich bin weit entfernt von einem MySQL-Experten, habe aber herumgelesen und es scheint, dass ich, um dies zu ändern, diese Zeilen einfach zu meiner /etc/mysql/my.cnf hinzufüge
# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M
Der Server hat ungefähr 7 GB Speicher und betreibt auch einen Webserver, daher denke ich, dass diese Zahlen ein guter Ausgangspunkt sein sollten. Nach dem Speichern und Neustarten des Servers scheinen die Änderungen jedoch nicht wirksam geworden zu sein. Ich habe versucht, Mysqltuner auszuführen, wobei gemeldet wurde, dass der Pufferpool immer noch bei 16,0 MB liegt. Irgendeine Idee, was ich falsch mache? Lassen Sie mich wissen, ob Sie mehr von der Konfigurationsdatei sehen möchten. Vielen Dank!
Antworten:
Stellen Sie sicher, dass sich diese Zeilen innerhalb des
[mysqld]
Abschnitts befinden, dh nach,[mysqld]
aber vor allen anderen,[section]
z[mysqldump]
.quelle
Überprüfen Sie Ihr MySQL-Fehlerprotokoll auf Informationen - wahrscheinlich in
/var/lib/mysql
-. Ist dies auch ein 32-Bit-System mit dem Bigmem-Kernel? In diesem Fall können Sie nicht mehr als 2 GB für MySQL adressieren.Außerdem - Sie möchten von MySQL selbst die Größe des Pufferpools bestätigen - klingt 16 MB etwas abweichend, wenn man bedenkt, dass der Standardwert 128 MB ist. Sie können dies bestätigen, indem Sie 'SHOW VARIABLES LIKE' innodb_buffer_pool_size 'in eine MySQL-Sitzung für diesen Server eingeben. Ergebnis ist in Bytes.
quelle
sudo cd
funktioniert nicht, da sudo eine Subshell mit den richtigen Berechtigungen erstellt und diese schließt, wenn Sie fertig sind, sodass Sie dort bleiben, wo Sie begonnen haben. Versuchen Sie essudo -s
stattdessen.In meinem Fall war das Problem
innodb_buffer_pool_instances
.Da ich reduzierte
innodb_buffer_pool_size
, wurde es weniger als 1 GB pro Instanz, so dass es schließlich abgerundet wurde.Als ich auch die Instanzen reduzierte , änderte sich schließlich die Poolgröße !
quelle
Möglicherweise starten Sie mysql mit --no-defaults oder (-no-defaults), wodurch keine Konfiguration geladen wird. Es gibt auch --defaults-file (oder -default-file, nicht sicher), wodurch eine bestimmte Konfiguration geladen wird. Überprüfen Sie auch, ob es sich um eine andere Konfiguration handelt als die, die Sie bearbeiten.
Sie können versuchen, mit zu beginnen:
Oder überprüfen Sie die Parameter, mit denen Sie bereits beginnen, und prüfen Sie, ob einer von ihnen dazu führt, dass die Konfiguration weggelassen wird.
quelle