2017-11-14 32 views
1

編集:私はServerFault、間違ったタブでこの投稿を作成する必要があります。Zabbixアップグレード - データベースのアップグレードに失敗しました

私は(MySQLのDB)は本日、私のZabbixサーバをアップグレードしようとしています。 現在のバージョン2.4.8で、私は3.4.4

インストールにそれを更新したいがうまくいきました。私は、ZABBIXサーバ・プロセスを起動すると、データベースがアップグレードを開始し、それがその後、次のエラーメッセージで停止しますので、

[Z3005] query failed: [1034] Incorrect key file for table 'alerts'; try to repair it [alter table alerts add p_eventid bigint unsigned] 

、私は「符号なしのテーブルの警告が追加変更p_eventidのBIGINT」やった、ZABBIXサーバを停止しました、ZABBIXサーバを再起動し、そして今、このエラーメッセージを得た:

[Z3005] query failed: [1060] Duplicate column name 'p_eventid' [alter table alerts add p_eventid bigint unsigned] 

エラーメッセージが異なっているとして、私にとっては少し厄介ですが、提案された解決策はまだ同じであり、既に行われています。

私が役立つことができthis ZBX bug reportを見つけたいくつかの研究を、でしたが、私はSQLには専門家だと私は、回避策を適用する方法は考えています。私が知る限り、アラートテーブル(alerts_7)にインデックスがありません。グーグル・ビットで次のコマンドで作成しようとしました。

create INDEX on alerts (p_eventid) USING BTREE; 

まだエラー(2番目)があります。

誰もがすでにその状況を持っていて、それを解決する方法を見つけましたか?

+0

これは間違いなく、プログラミングの質問ではありませんので、あなたはhttps://serverfault.com/またはhttps://superuser.com/上の(おそらく)より良い答えを得るでしょう。 アップグレードの実行方法に関する情報を含めて**強く**お勧めします。 Ubuntuで実行している場合は、使用したコマンド(公式の 'apt'リポジトリ経由など)を含めてください。 Zabbixを長年使用してきました。 Debian。複数のパスでサブバージョンにアップグレードすることもできます(単なる提案)。 – wally

+0

@wally:あなたはまったく正しいです。私は2つのタブを開きました。ここに1つ、SFに1つあり、間違ったタブで質問を作成しました。長い日でした。 私の設定はかなりシンプルですが、私はzabbixサーバーを1つのVM上に持っています。もう1つはDBです。私は新しいクリーンなVMであるUbuntu 16.04を作成し、パッケージを通してZabbixをインストールしました。古いzabbix VMをシャットダウンし、新しいZabbix VMを起動してプロセスを開始し、DBアップグレードは私の元の投稿に記載されたエラーで開始しました。 – SBO

+0

@SBO問題ありません! – wally

答えて

0

最後に、これを処理する時間がありましたが、tmpディレクトリがアップグレード操作には小さすぎるという問題がありました。 my.cnfのtmpパスを変更してアップグレードを再開すると、すべてが期待通りに機能しました!

0

角括弧内の部分は示唆ではありませんでしたが、試行されたコマンドでした。カラムがすでに存在するため、失敗します。この場合

、その列を削除して、再度のZabbixサーバを起動するのに十分かもしれません。アップグレードを開始する前にデータベースのバックアップを取っておいてください。

+0

ありがとう、私はそれがお勧めだと思った、私の悪い!明日もう一度試してみましょう。 – SBO

関連する問題