bugfix> mysql > 投稿

Windows 10でMySQLサーバー5.067を5.5.60にアップグレードしています。

サービスを停止し、binを共有ディレクトリに置き換えて、サービスを開始しました。

次のメッセージでサービスの開始に失敗しました(イベントビューアー):

Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
For more information, see Help and Support Center at http://www.mysql.com.

OK、だから私はコマンドで管理者としてcmdを開きました:

mysql_upgrade --port 64202

結果付き:

Looking for 'mysql.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysql.exe
Looking for 'mysqlcheck.exe' as: C:\Program Files (x86)\XXX\MySQLServer\bin\mysqlcheck.exe
Error: Failed while fetching Server version! Could be due to unauthorized access.
FATAL ERROR: Upgrade failed

MySQLアップグレードの設計では、TCP経由でMySQLに接続してアップグレードを実行していますが、サービスが実行されていない場合にどのように機能するのでしょうか?これは悪循環です。MySQLサービスは、開始できるようにアップグレードする必要があり、mysql_upgradeは実行中のサービスに接続する必要があります。

なにが問題ですか?

回答 2 件
  • メジャーバージョン(5.1)のスキップはサポートされておらず、動作する場合と動作しない場合があります。適切なアップグレードは次のいずれかです。

    プランA:5.1にアップグレードしてから、5.5にアップグレードします。 mysql_upgrade を実行する  各ステップで

    プランB:mysqldumpを使用して5.0からデータをダンプします。 (必ずルーチンなどを取得してください)。 5.0を吹き飛ばし(またはバイパスして)、新しい5.5をインストールします。データを再度読み込みます。五月 ダンプファイルに構文エラーがある場合、必要に応じてファイルを編集します。

  • 5.0から5.5にアップグレードするため、廃止された構成値があり、エンジンを起動できなくなります。

    最も可能性の高い犯人は skip-dbd です 、このサイトで説明されているように。

    だから:MySQL設定ファイルを見つけて、 skip-dbd をコメントアウト  オプションを選択し、MySQLサービスを再起動します。その後、 mysql_upgrade を実行できます  認証を含む適切なオプションを使用します。

あなたの答え