Saya menyiapkan budak mysql pada sistem Fedora 16, dan server_id
tidak diatur dengan benar. /etc/my.cnf
saya adalah:
[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
Namun, setelah systemctl restart mysqld.service
, show variables like "server_id"
menunjukkan bahwa server_id
adalah , yang menyebabkan replikasi gagal.
/var/log/mysqld.log
terakhir diubah saat terakhir kali saya me-restart server, tetapi tidak ada entri log sejak saat itu (saya melakukan restart hari ini, dan entri terakhir adalah dari kemarin).
Mengapa tidak server-id=16
kerja? Apakah perlu diatur di beberapa file lain? Atau, apakah ada cara untuk mengedit systemd
file unit sedemikian rupa sehingga mysqld
dimulai dengan --server-id=
opsi baris perintah, atau dapatkan mysqld
untuk menjalankan pernyataan SQL untuk mengatur server_id
saat memulai?
Jawaban yang Diterima:
Gunakan periksa konteks selinux, mereka mungkin salah
Untuk mysqld
startup, pesan shutdown, selain /var/log/mysqld.log
, periksa juga /var/log/messages
.
Jika pesan (peringatan/kesalahan) menunjukkan sealert
saran, periksa konteks selinux mysqld, mungkin salah atau ketinggalan zaman. Pembaruan yang sesuai dapat memperbaiki masalah.
Untuk menggunakan --server-id=
dalam skrip startup mysqld, periksa lokasi berikut
/etc/sysconfig/
Mungkin ada mysqld
file yang dapat Anda sesuaikan opsi startup.
/etc/rc.d/init.d/
mysqld
skrip startup berada di sini. Anda dapat mengkodekan opsi dalam skrip. Tetapi Anda harus menerapkan perubahan setiap kali menaikkan nilai.
PS:Anda mungkin ingin mempertimbangkan untuk mengganti OS kotak budak ke debian/ubuntu sehingga pengetahuan sistem akan berlaku untuk kedua mesin. Selain itu, (IMHO) Fedora bukan pilihan yang baik untuk kotak produksi/server karena masa pakai distro yang pendek (umur simpan 6 bulan + dukungan pembaruan 6 bulan). Jika OS terkait RedHat lebih disukai, gunakan RedHat atau CentOS.