Mysql
在 MariaDB 10.0 上安裝時區數據
昨天,我在我們的數據庫伺服器上設置了時區(如此處所述)。這樣做需要使用
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>
我擔心安裝其中一個(可能會選擇
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上游獲得它。因此,儘管您有解決方法,但問題最好這樣表述
- MariaDB 安裝在哪裡
mysql_tzinfo_to_sql
?顯然它不在您的路徑中,您可以通過以下方式找到它
- 執行您通過
dpkg -c
.- 使用
apt-file
- 跑步:
sudo updatedb; locate mysql_tzinfo_to_sql;