Fedora 16システムでmysqlスレーブをセットアップしており、server_id
正しく設定されていません。私の/etc/my.cnf
は:
[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
ただし、systemctl restart mysqld.service
の後に 、show variables like "server_id"
server_id
を示します です 、これによりレプリケーションが失敗します。
/var/log/mysqld.log
サーバーを最後に再起動したときに最後に変更されましたが、それ以降のログエントリはありません(今日再起動しました。最後のエントリは昨日のものです)。
server-id=16
を使用しないのはなぜですか 仕事?他のファイルに設定する必要がありますか?または、systemd
を編集する方法はありますか mysqld
などのユニットファイル --server-id=
で始まります コマンドラインオプション、またはmysqld
を取得します SQLステートメントを実行してserver_id
を設定します 起動時に?
承認された回答:
checkselinuxコンテキストを使用してください。間違っている可能性があります
mysqld
の場合 /var/log/mysqld.log
以外の起動、シャットダウンメッセージ 、/var/log/messages
も確認してください 。
メッセージ(警告/エラー)にsealert
が表示されている場合 提案、mysqld selinuxコンテキストを確認してください。間違っているか、古くなっている可能性があります。それに応じて更新すると、問題が修正される場合があります。
--server-id=
を使用するには mysqld起動スクリプトで、次の場所を確認してください
/etc/sysconfig/
おそらくmysqld
起動オプションをカスタマイズできるファイル。
/etc/rc.d/init.d/
mysqld
起動スクリプトはここにあります。スクリプトでオプションをハードコーディングできます。ただし、アップグレードするたびに変更を適用する必要があります。
PS:システムの知識が両方のマシンに適用されるように、スレーブボックスOSをdebian/ubuntuに切り替えることを検討することをお勧めします。さらに、(IMHO)Fedoraは、ディストリビューションの寿命が短いため(6か月の保管寿命+ 6か月の更新サポート)、プロダクション/サーバーボックスには適していません。 RedHat関連のOSが望ましい場合は、RedHatまたはCentOSを使用してください。