MySql 4 上にインストールされた MySql 5 で inno-db サポートを有効にするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/112010

  •  02-07-2019
  •  | 
  •  

質問

MySql のインストールされたインスタンスで inno-db サポートを有効にするにはどうすればよいですか?

mysql-5.0.67-win32をインストールしました。「show Engines」を実行すると、「InnoDB」は「DISABLED」になります。ドキュメントによると、MySQLはInno-DBのサポートでコンパイルされています(Doc:から:値 DISABLED は、エンジンを無効にするオプションを使用してサーバーが起動されたか、エンジンを有効にするために必要なオプションがすべて指定されていないために発生します。)

my.ini で、「skip-innodb」という行をコメント化しました。これは役に立ちませんでした。他のすべての inno-db 関連変数は変更されません。

説明された状況を経験する前に、私はいくつかの異常な行動をとりました。mysql-4.0.17-win がインストールされています。アンインストールし、その後 mysql-5.0.67-win32 をインストールしました。インストールウィザードで、MyISAMサポートのみを選択しました(私が理解している限り、そのようにしてinno-dbサポートを無効にしました。inno-db をサポートして再インストールしようとすると、以前のデータベース「mysql」をアカウント情報とともに使用する際に問題が発生しました。

MySQL のドキュメントには、mysqldump を使用してデータをエクスポートし、その後アップグレード中にエクスポートされたデータをインポートする必要があると記載されています。そうしようとしましたが、データをインポートするときに構文エラーに関するメッセージが表示されました(mysqlの第4バージョンと第5バージョンの非互換性に関係していると思います)

役に立ちましたか?

解決 6

問題は解決しました。

要するに:データのインポート時に奇妙な構文エラーが発生したため、MySql4 でデータベースをダンプして MySql5 で復元することができませんでした。

インストール後に、データベース「mysql」を含む古いデータベースで MySql5 データベースをオーバーライドしようとしました。正常に動作しますが、inno-db サポートを有効にすることができませんでした。(このようにして、(OLD_PASSWORD の代わりに) 古いパスワードに関数 PASSWORD を使用することもできました)

「mysql」のデータベース構造がバージョン5で変更されたため、MySql5を再度インストールして、「mysql」以外の古いデータベースをコピーしようとしました。この後、「mysql」からエクスポートされたデータの修正バージョンで「mysql」データベースを更新しました。このような方法で、mysql 5 が動作するようになりました。

やっぱり私も実行しました
mysqlcheck --all-databases --auto-repair
テーブルをアップグレードするためです。

追伸問題を解決する正しい方法を教えてくれたすべての回答の作成者に感謝します。

他のヒント

デフォルトで有効にする必要があります。MySQL lib フォルダーに対する間違った権限により、InnoDB がエラーを引き起こす状況がいくつかあります。MySQL エラー ログにアクセス許可エラーがないか確認してください。

my.ini には次の innodb オプションがあります。これは非常に最小限の構成なので、mysql のパフォーマンスを向上させたい場合は、この値を使用しないでください。my.ini を変更した後、mysql を再起動してください。

#*** INNODB Specific options ***
innodb_data_home_dir="C:/mysqldata/"
#skip-innodb
innodb_additional_mem_pool_size=120M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=10M
innodb_log_file_size=2M
innodb_thread_concurrency=8

おそらく、グローバル設定ファイルで inno-db が無効になっている可能性があります。Linux では、これは /etc/mysql/my.cnf のようなものになります。Windows にも同様のグローバル conf ファイルがある可能性があります。

正しい my.ini ファイルを変更していることを確認してください。Windows では、これはさまざまな場所から読み取られます。順序は次のとおりです。

  1. WINDIR\my.ini、WINDIR\my.cnf
  2. C:\my.ini、C:\my.cnf
  3. INSTALLDIR\my.ini、INSTALLDIR\my.cnf
  4. デフォルトの追加ファイル

タイプ mysql --help コマンド プロンプトで、コンピュータ上の実際の注文を確認します。例:

デフォルトのオプションは、指定された順序で次のファイルから読み取られます。c: my.ini c: my.cnf c: windows my.ini c: windows my.cnf c: program files mysql m ysql server 5.0 my.ini c:プログラムファイル mysql mysql server 5.0 my.cnf

起動パラメータは確認しましたか?おそらく、サーバーの起動に使用するシェル スクリプトまたはバッチ ファイルがコマンド ラインでエンジンを無効にしている可能性があります。IIRC コマンド ライン フラグは、.ini 設定よりも優先されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top