Ich richte einen MySQL-Slave auf einem Fedora 16-System ein und die server_id
wird nicht richtig eingestellt. Mein /etc/my.cnf
ist:
[mysqld]
server-id=16
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
read-only = 1
symbolic-links=0
max_allowed_packet = 100000000
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Jedoch nach systemctl restart mysqld.service
, show variables like "server_id"
gibt an, dass server_id
ist , wodurch die Replikation fehlschlägt.
/var/log/mysqld.log
wurde zuletzt geändert, als ich den Server das letzte Mal neu gestartet habe, aber es gibt keine Protokolleinträge von damals (ich habe den Neustart heute durchgeführt, und der letzte Eintrag ist von gestern).
Warum nicht server-id=16
Arbeit? Muss es in einer anderen Datei festgelegt werden? Alternativ gibt es eine Möglichkeit, die systemd
zu bearbeiten Unit-Datei, so dass mysqld
beginnt mit --server-id=
Befehlszeilenoption oder holen Sie sich mysqld
um eine SQL-Anweisung auszuführen, um die server_id
festzulegen beim Start?
Akzeptierte Antwort:
Verwenden Sie Selinux-Kontexte prüfen, sie könnten falsch sein
Für mysqld
Start- und Shutdown-Meldungen außer /var/log/mysqld.log
, überprüfen Sie auch /var/log/messages
.
Wenn die Meldungen (Warnung/Fehler) sealert
anzeigen Vorschlag, überprüfen Sie mysqld selinux Kontexte, sie könnten falsch oder veraltet sein. Eine entsprechende Aktualisierung kann das Problem beheben.
Um --server-id=
zu verwenden Überprüfen Sie im mysqld-Startskript die folgenden Speicherorte
/etc/sysconfig/
Es gibt vielleicht ein mysqld
Datei, in der Sie die Startoption anpassen können.
/etc/rc.d/init.d/
mysqld
Startskript befinden sich hier. Sie können die Option im Skript fest codieren. Aber Sie müssen die Änderungen bei jedem Upgrade anwenden.
PS:Sie sollten erwägen, das Slave-Box-Betriebssystem auf Debian/Ubuntu umzustellen, damit das Systemwissen für beide Maschinen gilt. Darüber hinaus ist (IMHO) Fedora aufgrund der kurzen Lebensdauer der Distribution (6 Monate Haltbarkeit + 6 Monate Update-Unterstützung) keine gute Wahl für eine Produktions-/Server-Box. Wenn ein RedHat-bezogenes Betriebssystem bevorzugt wird, verwenden Sie RedHat oder CentOS.