2

MySqlのインストールされたインスタンスでinno-dbサポートを有効にする方法は?

mysql-5.0.67-win32をインストールしました。「showengines」を実行すると、「InnoDB」は「DISABLED」になります。ドキュメントによると、MySqlはinno-dbをサポートしてコンパイルされています(ドキュメントから: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番目のバージョンのいくつかの非互換性に関連していると思います)

4

6 に答える 6

4

デフォルトで有効にする必要があります。MySQL libフォルダーに対する誤ったアクセス許可により、InnoDBが吠える状況がいくつかあります。MySQLエラーログでパーミッションエラーを確認してください。

于 2008-09-21T20:35:53.743 に答える
3

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
于 2008-09-21T20:36:55.363 に答える
1

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

于 2008-09-21T20:34:17.507 に答える
1

正しい 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 サーバー 5.0\my.ini C:\Program Files\MySQL\MySQL サーバー 5.0\my.cnf

于 2008-09-21T22:17:37.883 に答える
0

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

于 2008-09-21T22:22:33.330 に答える
0

問題を解決しました。

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

インストール後に、データベース 'mysql' を含む古いデータベースで MySql5 データベースを上書きしようとしました。問題なく動作しますが、inno-db サポートを有効にできませんでした。(そのようにして、古いパスワードに(OLD_PASSWORDの代わりに)関数PASSWORDを使用することさえできました)

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


mysqlcheck --all-databases --auto-repair
結局、テーブルのアップグレードも実行しました。

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

于 2008-09-23T17:34:15.973 に答える