web-dev-qa-db-ja.com

Win7 x64にMySQLをインストールしようとすると「エラー1067:プロセスが予期せず終了しました」

私のマシンにMySQL v5.5をインストールしようとしているレンガの壁に遭遇しました。

私のPCはWindows 7 x64、Enterpriseエディションです。

MySQLは正常にインストールされますが、「MySQLインスタンス構成ウィザード」を実行すると、「サービスの開始」のステップで永久に一時停止します(応答なしで30分間実行できます)。サービスを開始すると、「MySQL」サービスが開始されていないことがわかります。開始しようとすると、「WindowsはローカルコンピュータでMySQLサービスを開始できませんでした。エラー1067:プロセスが予期せず終了しました。」

私は以下を試しました:

  • ファイアウォールをオフにします。
  • すべてのウイルス対策ソフトウェアをアンインストールします。
  • MySQLの32ビットバージョンのインストール/再インストール。
  • MySQLの64ビットバージョンのインストール/再インストール。
  • 「C:\ program files\MySQL」および「C:\ program files(x86)\ MySQL」の内容をアンインストールして削除し、再インストールします。
  • MySQLという名前の不正なサービスがないことを確認していますか???? (以前のインストールから)。
  • ポート3306が代替プログラムで使用されていないことを確認します。
  • MySQLが使用するデフォルトのポートを変更する。
  • 「C:\ windows」で「my.ini」と「my.ini.cnf」を確認します(そこには何もありませんが、問題が発生する可能性があります)。
  • MySQL管理者と設定ウィザードの両方を「管理者モード」で実行します。
  • UACをオフにします。
  • デフォルトでインストールし、何も変更しません。
  • マシンを再起動します(これまでに約6回再起動します)。
  • ファイアウォールでポート3306を開く(TCPとUDP、インバウンドとアウトバウンドの両方)。
  • MySQLをインストールして、インストールさえできないように設計したプログラマーのくだらないことに悪態をつく(それが助けになるかのように!)

私のマシンは他のすべての方法で100%動作しています。 InfiniDB(MySQL互換データベース)は、Visual Studio 2010、Microsoft SQL Serverなどと同様に100%インストールされます。

これを回避する方法についてのアドバイスは?

pSこれは、プロセスを終了するまで15分間スタックした画面です。

alt text

更新2010-12-20

MySQL v5.1を試してみましたが、どちらも機能しませんでした。その驚くべきこと-「mysqld /?」または「mysqld -help」と入力しても、ヘルプは表示されません。また、サービスを手動で再起動しようとしても、エラーメッセージは表示されません。もっと役に立たないでしょうか?

更新2010-12-21

MySQL 6.0 alphaをインストールし、それは機能しました。ただし、「安定版」リリースは:(

更新2010-12-21

見つかった http://dev.mysql.com/doc/refman/5.1/en/windows-troubleshooting.html 、Windowsでのトラブルシューティングを扱います。

サービスが開始しない場合はエラーログを生成できることがわかりました-ここを参照してください: http://dev.mysql.com/doc/refman/5.1/en/error-log.html

更新2010-12-21

ああ!手掛かり。実際にエラーを表示するには、「-console」を追加します。

mysqld --console

これは次を返します:

101221 13:57:28 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use Windows interlocked functions
InnoDB: Compressed tables use zlib 1.2.3
101221 13:57:28  InnoDB: Initializing buffer pool, size = 203.0M
101221 13:57:28  InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file .\ib_logfile0 is of different size 0 56623104 bytes
InnoDB: than specified in the .cnf file 0 106954752 bytes!
101221 13:57:28 [ERROR] Plugin 'InnoDB' init function returned error.
101221 13:57:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
101221 13:57:28 [ERROR] Unknown/unsupported storage engine: INNODB
101221 13:57:28 [ERROR] Aborting
101221 13:57:28 [Note] mysqld: Shutdown complete

更新2010-12-21

これで正しくインストールされます。以下の答えを見てください。

14
Contango

これが私が問題を修正した方法です:

ステップ1:デフォルトでは、サービスが開始できない理由を見つけることは不可能です。したがって、非サービスモードで起動し、コンソールにエラーをパイプするように指示します。

mysqld --console

ステップ2:私の場合、次のコンテンツを削除する必要がありました。

C:\ProgramData\MySQL

...次に再インストールします。 MySQL v5.5インストーラーにはバグがあります。MySQLv5.5をアンインストールして、インストールの問題を修正すると、C:\ ProgramData\MySQLのクリーンアップに失敗します。つまり、MySQL v5.5をその不正なディレクトリを削除せずに、そのマシンをその瞬間から。

ヒント:

  • プロセスモニターで「mysqld」のインスタンスを強制終了してください。
  • 既存のサービスを削除するには、「sc delete MYSQLxx」を使用します。

OracleのMySQL開発チームへの公開書簡:

--- Oracleへの公開書簡を開始---

OracleのMySQL開発チーム各位:

MySQLのインストール時にサービスを開始できない場合は、(a)エラーログの方向を示すか、(b)このエラーログを表示して、理由をお知らせください。

そうしないと、オラクルは無能な立場に置かれます。

敬具、

MySQLをWindowsにインストールするすべての人。

--- Oracleへの公開書簡---

11
Contango

Gravitasに同意しますが、再インストールを行う必要はありません(特にMySQLをインストールする場合)
C:/ Program Files /のデフォルト以外の別のフォルダにあるサーバーx.x。
これらの手順は、サービスを正常に実行するのに役立ちました。Win7x64で動作したため、x32で十分だと思います:)

MySQLサーバーx.xがインストールされている 'my.ini'ファイルを開きます(私のものは5.5でしたが、5.1も問題ありません)
次の行に移動します:

_datadir=C:/ProgramData/MySQL/MySQL Server x.x/data_->(これはデフォルトのパスです)
上記の行を次のように変更します:
_datadir="<Drive_Letter>:/path/where/MySQL/is/installed/MySQL Server x.x/data/"_

_C:/ProgramData/MySQL/MySQL Server x.x/_のすべての内容を新しく指定されたdatadirにコピーします
例外 _ib_logfile0_&_ib_logfile1_(それらをバックアップとして別の場所に再配置します)。
削除_C:/ProgramData/MySQL/MySQL Server x.x/_。
再実行MySQLInstanceConfig
_TCP/IP networking_をチェックしますが しない セキュリティ設定を変更します(変更しないでください)。
サービスを開始します(ib_logfile(1,2)は再生成されます)。

PS:CCleanerを使用して、再起動後に一時ファイルをクリーンアップします。何らかの(奇妙な?)理由により、再起動するまで上記の設定を適用した後、IDEまたはMySQL Workbench CE x.xからMySQL DBMSに接続できません。

注:セキュリティ設定を編集すると、別のバグが原因で設定ユーティリティがハングします
他の設定でTCP/IPを有効にするときに導入されました。

お役に立てれば!

3
Kounavi

論理的なinnodb_flush_method=normalmy.iniに追加するとうまくいきました。 MySQL 5.7を実行しているWindows 7 x64で、データベースを3TB HDDに移動しています。簡単なウォークスルー:

  1. Windowsコマンドプロンプトでサービスを停止しますnet stop sqlXX
  2. コマンドxcopy "C:\ProgramData\MySQL\MySQL Server X.X\data" "<new_directory>\data" /sを使用してdataフォルダーをコピーします
  3. "<new_directory>\data"ib_logfile0ib_logfile1を削除します
  4. C:ProgramData\MySQL\MySQL Server X.X\my.iniを開き、datadir="<new directory>/data"を設定し、ファイルの下部にinnodb_flush_method=normalを追加して保存します
  5. コマンドnet start mysqlXXを使用してサービスを再起動します

ここで、XXはバージョン番号です。私は5.7を使用しているため、net start mysql57を使用しました。

リンクされた説明によると、これのデフォルト値はinnodb_flush_method=unbufferedであり、512バイトのセクターサイズに依存します。これは、2 TB未満のHDDの場合は通常です。 HDDが2TBを超える場合、通常4096バイトセクターでフォーマットされ、1067エラーが発生します。

私も上記のすべてを試しましたが、これがそれを解決した唯一のものです。

http://bugs.mysql.com/bug.php?id=2891

2
dcmorse

私がしたことは

  1. デーモンが実行されていない状態で、Program Data\MySQLの下のデータフォルダーの名前を別の名前に変更します。
  2. コントロールパネルからMySQLをアンインストールする
  3. 再インストールします。セキュリティ設定の構成中にエラー#1045で失敗します。 MySQLがサービスとしてインストールされ、ルートパスワードが空白であることを確認しました。ユーザー名なしでmysqlユーティリティを実行してこれを確認しました。再試行またはスキップを求められたら、スキップをクリックし、現在のルートパスワードと新しいパスワードを指定するダイアログまで戻るボタンをクリックしました。現在のルートパスワードフィールドのパスワードは既に空白になっていて、新しいルートパスワードが入力されているため、削除します。エラーなしで構成が続行されました
  4. サービスを停止します
  5. 名前が変更された古いデータフォルダーからデータベースフォルダーをコピーします。ログファイルとibdataファイルをコピーしませんでした。
  6. フォルダーを現在の(新しい)データフォルダーに貼り付けます。
  7. サービスを再開しました
  8. Mysqlユーティリティでテストして、データベースがどのように表示されるかを確認します。

ところで、念のため、mysqldump --all-databasesを使用してデータベースをダンプしました。

2
jojo mendoza

http://mydailytech.com/post/how-to-fix-mysql-error-1067/

上記のリンクを確認してフォローしてください。私の場合と同じように解決されます。

それが役に立てば幸い

2
rihatum

念のため、数時間かけて5.5.20Windows 2008 64bitにインストールしてみました。それは決して始まりません。私は見つけることができるすべての例を試しました。ここで受け入れられた回答を含みます。働いたことはありません。

だから私は5.1.61にダウングレードしましたが、それはチャンピオンのように機能しました。初めて。

2
cbmeeks

リガタムが投稿したウェブサイトから引用:

MySQLをインストールするときに、標準以外のディレクトリにインストールする場合、MySQLを実行したり、MySQLサービスをインストールしたりする前に、デフォルトのファイルのパスを指定する必要があります。そうしないと、エラー1067が発生します。

まず、コマンドプロンプトを開きます。 MySQLインストールフォルダーに移動し、mysqld.exeがある場所を探します。次に、これを実行します。

mysqld –remove MySql

MySQLサービスがアンインストールされます。次に、defaults-fileパラメータを使用してサービスを再インストールします。

mysqld –install <service name> –defaults-file=<full path of “my.ini” file>

例えば:

mysqld –install MySql –defaults-file=c:\mysql\my.ini

エラーのないMySQLインストールをお楽しみください。

2
AliGibbs

そして、私は単に追加します-この場合、programdata\mysqlだけでなく、innoDBフォルダーも削除する必要があります:\ mysql datafiles

2
tomas