昨日、DBサーバーにタイムゾーンを設定しました(説明 here )。そのためには、mysql_tzinfo_to_sql
実行可能ファイルを使用する必要があります。幸い、これはすでにサーバー上に存在しており、タイムゾーンデータの変換はスムーズに行われました。
しかし、今日、スレーブが同じエラーを生成していることがわかります。問題は、スレーブにmysql_tzinfo_to_sql
実行可能ファイルがないように見えることです。 apt-get
は、これらが他のパッケージに存在することを通知します。
root@slave:~# mysql_tzinfo_to_sql /usr/share/zoneinfo/|mysql -u root mysql
The program 'mysql_tzinfo_to_sql' can be found in the following packages:
* mysql-server-5.5
* mariadb-server-5.5
* mysql-server-5.6
* percona-xtradb-cluster-server-5.5
Try: apt-get install <selected package>
これらのうちの1つをインストールすると(おそらくmariadb-server-5.5
を選択する)、現在インストールされているバージョンのMariaDB(10.0.17-MariaDB-1〜precise-log)と競合するのではないかと心配です。
このタイムゾーンデータをスレーブにインストールする方法を教えてください
mariadb-server-5.5
のインストールに関する私の懸念は不当ですか?私は解決策を見つけました。このソリューションの鍵は、タイムゾーンSQLを生成できることを知っているシステム(マスター)がすでにあったことです。マスターでSQLを生成し、スレーブに転送して実行しました!
マスター上
user@master [~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ > timezones.sql
スレーブ上
root@slave:~# scp -P2223 user@master:timezones.sql .
user@master's password:
stdin: is not a tty
timezones.sql 100% 4562KB 2.2MB/s 00:02
root@slave:~# cat timezones.sql | mysql -u root mysql
スレーブでSTART SLAVE
を実行した後、すべてがうまくいきました!
でも、もともと私が提起した質問に誰かが答えてくれるかどうかまだ気になります!
これらのいずれかをインストールすると(mariadb-server-5.5を選択する可能性が高い)、現在インストールされているMariaDBのバージョン(
10.0.17-MariaDB-1~
precise
と競合する可能性があります。-log
)。
Ubuntu Preciseは12.04にリリースされました。それはとんでもない古いです、そしてあなたが質問をしたときでした。そのため、MariaDBのバージョンも古すぎました。 MariaDBは10.0.31で正確なサポートを終了しました。 Debian/Ubuntuの目のバージョンのMariaDBで非公式に実行しているため、システムでの動作は保証されていません。
そうは言っても、問題は基本的に、MariaDBを誰がパッケージ化したかということです。 MariaDB アップストリームから取得したようです。だからあなたが回避策を持っている間、質問はこのように表現する方が良いです
mysql_tzinfo_to_sql
をどこにインストールしますか?明らかにそれはあなたの道にありません、あなたはそれを見つけることができます
dpkg -c
からダウンロードしたパッケージを実行します。apt-file
を使用Sudo updatedb; locate mysql_tzinfo_to_sql;