Fedora 16 MySQL サーバー ID が設定されていません。

Fedora 16 MySQL サーバー ID が設定されていません。

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_id0

/var/log/mysqld.log最後の変更はサーバーを最後に再起動したときですが、それ以降はログエントリはありません(今日は再起動しましたが、最後のエントリは昨日のエントリでした)。

なぜ動作しないのですserver-id=16か?別のファイルに設定する必要がありますか?または、コマンドラインオプションで起動systemdするように単位ファイルを編集するか、SQL文を実行して起動時に値を設定する方法はありますか?mysqld--server-id=mysqldserver_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を使用してください。

関連情報