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
0
/var/log/mysqld.log
最後の変更はサーバーを最後に再起動したときですが、それ以降はログエントリはありません(今日は再起動しましたが、最後のエントリは昨日のエントリでした)。
なぜ動作しないのですserver-id=16
か?別のファイルに設定する必要がありますか?または、コマンドラインオプションで起動systemd
するように単位ファイルを編集するか、SQL文を実行して起動時に値を設定する方法はありますか?mysqld
--server-id=
mysqld
server_id
答え1
以下を使用して selinux コンテキストを確認します。
開始メッセージと終了メッセージについては、さらに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関連のオペレーティングシステムを好む場合は、RedHatまたはCentOSを使用してください。