web-dev-qa-db-ja.com

MySQLを起動しようとすると1067エラーが発生する

Windows 7にMySQLをインストールしました。MySQLサービスを開始しようとすると、エラー1067が表示されます。プロセスが予期せず終了しました。ログメッセージ:

101111 22:27:11 [Note] Plugin 'FEDERATED' is disabled.
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist
101111 22:27:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: Log scan progressed past the checkpoint lsn 0 37356
101111 22:27:11  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 44233
101111 22:27:11  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
101111 22:27:12  InnoDB: Started; log sequence number 0 44233
101111 22:27:12 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.Host' doesn't exist

私はそれについて何ができますか?

21
Eugene

解決策は、インストールパスにスペースを入れずにMySQLをインストールすることでした。 Windows 7、64ビット

26
Eugene

Mysqld windowsサービスの実行を妨げるもう1つのことは、mysqld.exeが既に実行されている(ただしサービスとしてではない)ポート3306を占有している場合です。

Windowsタスクマネージャーを開き、[プロセス]タブで "mysqld.exe"を探します。表示された場合は、強制終了してから、サービスの再起動を試みてください。

c:\> net start [servicename]

例:c:\> net start MySQL

17
TxRegex

私の問題の解決策は、インストールディレクトリを調べ、/ dataフォルダーを見つけ、その内容を.ini/.cnf構成ファイルで指定されたデータフォルダーにコピーすることでした。

11
MrMan

私の問題は停電の直後に起こりました。エラー1067が発生しましたプロセスが予期せず終了しました。言うまでもなく、MySQLは起動しませんでした。答えは簡単でした

  1. Mysql path\dataを開きます
  2. Ib_logfile0とib_logfile1の両方を削除(削除)します。
  3. サービスを開始する
7
Sean

同様の問題が発生したばかりで、許可の問題であることがわかりました。データベース「データ」をコピーするとき、「ネットワークサービス」の権限を追加する必要があります

3
Eric Chan

Windows 7のmy.iniでdatadirを変更する際に問題が発生しました。

データを別のドライブに保存したかったので、フォルダ全体をコピーして別のPCからこのデータを移動していました。 datadirを目的のドライブに変更し、my.iniファイルを問題なく保存しました。

しかし、mysqlは起動しませんでした。 my.iniファイルを再度開きましたが、変更されたようです。次に、my.iniの日付が変更されていないことに気付きました。そのため、セキュリティ権限を変更して、書き込み権限を付与する必要がありました。

今回保存したとき、日付が変更され、mysqlがすべての正しいデータへのアクセスを開始しました。

2
sam owens

同じ問題がありました。私の場合、それは「ユーザーエラー」でした(ただし、Windowsインストーラーはそれについて賢く、このようなエラーをコミットすることを妨げていたはずです)。

インストール中にデフォルトのインストールパスを変更する場合は、カスタムセットアップ画面の「サーバーデータファイル」と「MySQLサーバーインスタンス構成」の「InnoDBテーブルスペース設定」の両方で同じパスを使用するようにしてください。ウィザード」

2
Cesar

いろいろなことをする前に、サービスを実行しようとしているユーザーを確認してください。私の場合、それはネットワークであり、このネットワークには必要な場所への書き込み権限がありませんでした。ユーザーをローカルシステムアカウントに変更すると、うまくいきました。

イベントビューアーに"テストファイルC:\ Program Files\MySQL\MySQL Server 5.6\data\XXX.lower-testを作成できません"のようなエラーが表示された場合、このソリューションが機能する可能性が高い。がんばろう!

1

MysqlデータフォルダーをWindowsディレクトリジャンクションに置き換えました。 ib_logfile0/1またはibdata1が破損していると思われます。

それらのファイルとcomputername.errを削除してみてください。次に、mysqlサービスを再起動します。それが私の成功でした。

Mysqlを完全に再インストールした後、ibdata1ファイルをジャンクションディレクトリにコピーし、dirをジャンクションに置き換えてmysqlを再起動するだけでは不十分でした。

Mysqlにこれらのファイルを再構築させる必要があります。

1
skyrail

私の場合、インストール済み環境の2番目のディスク「F」にXAMPPを解凍しました。サービスとして開始しようとしたとき、戻り値は「1067」でした。解決策は、my.iniを編集して、ファイル行に「f:」ドライブを挿入することでした。問題を解決しました。

0
Joao Goulart

mysqlログ(データフォルダの下の.errファイル)を見ると、次のように見えました

21:41:47 UTC-mysqldは例外0xc0000005を受け取りました。これは、バグにぶつかった可能性があります。また、このバイナリまたはリンクされたライブラリの1つが破損している、不適切に構築されている、または設定が間違っている可能性があります。このエラーは、ハードウェアの誤動作によっても発生する可能性があります。問題の診断に役立つ可能性のある情報を収集しようとしています。これはクラッシュであり、何かが明らかに間違っているため、情報収集プロセスが失敗する可能性があります。

USBを接続しているときにサービスを開始していることに気付きました。正直に言うと、マシンを再起動してからサービスを再起動すると、問題は解決しました。さらに、再起動する前にib_logfile0およびib_logfile1ファイルを削除しました。イベントロガーは「InnoDB:データベースが破損しているか、InnoDBログファイルではなくInnoDBテーブルスペースをコピーした可能性があります。 http://dev.mysql.com/doc/refman/5.7を参照してください。 /en/forcing-innodb-recovery.html 情報

ブロッククォート

詳細については、ヘルプとサポートセンターの http://www.mysql.com "を参照してください。構成を変更したことがないため、そうは思いません。

0

同じエラーが発生しましたログファイルパスの非標準文字が原因でした。それを修正するために、my.ini構成ファイル(私の場合はC:\ProgramData\MySQL\MySQL Server 5.6\my.ini)および変更されたキーslow_query_log_fileおよびlog-error。その後、MySQLサービスを正常に開始できました。

0
mordka

私の場合、MySQLインストーラーでログファイルのカスタムパスを選択しました。ユーザーフォルダにログファイルを置いていたC:\Users\%MY_USERACCOUNT%\Documents\mysql-logs、およびデフォルトでは、NETWORK SERVICE(またはWindowsの管理者以外のユーザーアカウント)は、ユーザーのフォルダーにアクセスできません。

これを修正するには、ログフォルダーのセキュリティオプションを変更し、NETWORK SERVICEに変更権の読み取り/書き込み/変更権を与えます。

私の場合、mysqlサーバーから重いスキーマを削除するには、C:\ ProgramData\MySQL\MySQL Server 5.7\Dataに移動し、関連するフォルダーを削除しました。しかし、mysqld.exeがそれを妨げていたため、削除されていませんでした。そのため、mysqld.exeを停止し、フォルダーを削除すると、すべてのスキーマがmysqlワークベンチのリストから消えました。 mysqlサービスをどれだけ再起動しようとしても、そのフォルダーをジャンクから復元しない限り、それはしませんでした。私と同じショートカットを試してみた人の助けになることを願っています。

0
Fadia Jabeen

同じエラーが発生しました。以下は、mysql-5.7.14-winx64で機能した理由と解決策です。

理由:DATAフォルダーにいくつかのデフォルトのフォルダーとファイルがありませんでした

solution:DATAフォルダーからすべてを削除します。新規インストールであると想定しているため、必要なものはすべてバックアップしてください。次に、コマンドプロンプトからこれを実行すると、必要なファイルとフォルダーが作成され、「mysqld --initialize --console」が「mysqld」を実行します。

0

私の場合innodb_data_home_dirは、システムに新しいドライブを追加したときにドライブ文字をシャッフルしたため、もはや正しくありませんでした

0
Michael White

my.iniに書いたディレクトリがすべて存在するかどうかも確認してください。

私の問題は、tmpdir doeesn`tが存在しないため、MySQLデーモンがエラー1067で落ちることです。

[mysqld]
port= 3306
tmpdir = "C:/tmp"

この場合、C:/tmpが存在する必要があります。

0
pulzarraider

ファイル「C:\ Program Files\MySQL\MySQL Server 5.1\my.ini」を確認します

My.iniのdatadir行でパスを指定する必要があります。そのdatadirパスの内容を確認します。 「mysql」という名前のフォルダーと「test」という名前の別のフォルダーが含まれていますか?

そうでない場合、2つの選択肢があります。

  1. My.iniのdatadir行を正しい場所に変更します。これはおそらくC:\ ProgramData\MySQL\MySQL Server 5.1\dataになります。

  2. Datadirパスの既存の内容を消去します。 C:\ ProgramData\MySQL\MySQL Server 5.1\dataの内容をdatadirパスにコピーします。 mysqlサービスを再起動すると、空のデータベースが再構築されます。

0
user281806

私の場合、別のMySQLバージョンをインストールして実行していました。 mysql_error.logファイルを調べてこれを見つけました。これを修正するには、サービスにアクセスして、実行中のMySQLバージョンを停止し、マニュアルを設定し、必要なmysqlを起動します。

0
Jessica

また、テーブルでログを取得します'mysql.plugin' does not exist 'msiexec.exe' DataDirでMYSQL Server 5.1をインストールする場合、C:\ MYSQL\MySQL_Server_5_1\data \として置きます

驚いたことに、C:\ MYSQL\MySQL_Server_5_1\data\dataにデータを作成しました

Wordの追加がありましたdata。だから、my.iniファイルを

datadir="C:/MySQL/MySQL_Server_5_1/Data/" .

datadir="C:/MySQL/MySQL_Server_5_1/Data/data"

そして、net start MYSQL51を使用してからmysqld.exeを実行してタスクマネージャーに表示

0
SP9AUV

MariaDB(MySQL互換)を2台のマシンでローカルに実行しています。何がエラーを引き起こしたのか分かりませんが、何も試みませんでした。だから私はサービスを停止し、MariaDBのディレクトリ(データディレクトリを除く)のすべてを削除し、セカンダリマシンからファイルをコピーしました。

ライブサーバーの場合は少し異なり、スーパーグルmight洞察コメントを追加できます(たとえば、データディレクトリ外の何かがデータ破損やインデックスの防止に関係している可能性があります)例では?)。サービスを停止し、毎月1回程度ディレクトリ全体をコピーしてから、サービスを再開します。

0
John

私の例では、ファイル名のスペースとは何の関係もありませんでした。 MSIインストーラーのカスタム構成を使用し、デフォルトのデータベースをNorthwind/Adventureworksのようなものであると仮定して除外することを選択しました。いいえ、それはコアMySqlシステムデータベースを含みます...私がそれを機能するインストールに追加したら。

0
nathanchere

同じエラーに遭遇しました。私にとっても同様のアプローチ。私が言えることから、my.iniファイルのdatadirへの参照で奇妙なことが起こっています。手動で編集したとしても、すべてを吹き飛ばすまでは、何の効果も見られませんでした。良いニュースがあったらいいのに...最初にDBバックアップをしてください。

私にとって、これを機能させる鍵は次のとおりでした。

1)設定->コントロールパネルから以前のインストールを削除します。マシンを再起動します。 2)マシンが復旧したら、以前のインストールディレクトリを強制的に削除します。 [mineはC:\ apps\MySQL\MySQLServer-5.5 \です。c:\ programファイルの使用を拒否します。3)以前のdatadirディレクトリを強制的に削除します[mine was c:\ data\mysql]。 4)以前のデフォルトのデータディレクトリ[C:\ Documents and Settings\All
Users\Application Data\MySQL]。 5)同じインストールディレクトリを選択して、インストールを再実行します。インストールの最後でインスタンスコンフィグレータ/ウィザードをスキップします。 6)../binディレクトリがパスに追加されることを確認します。確認してください。 7)インスタンスconfigurator/wizardを手動で実行します。
ルートパスワード、ポート[3306]を設定します。起動しようとします。繰り返しますが、私の開始は失敗しました[当たり前!そこに新しいものはありません!!! ] 8)次に、インストールディレクトリのmy.iniファイルを手動で編集し、datadir設定を[datadir = "C:/ Data/MySQL /"] MATCH CAPITALIZATION !!!!に修正します。 9)コマンドプロンプト[sc qc mysql]を使用して、サービスが正しくセットアップされていることを確認します。
次のようになります。

C:\ dev\cmdz> sc qc mysql [SC] GetServiceConfig SUCCESS

SERVICE_NAME:mysql TYPE:10 WIN32_OWN_PROCESS START_TYPE:2 AUTO_START ERROR_CONTROL:1 NORMAL BINARY_PATH_NAME: "C:\ apps\MySQL\MySQLServer-5.5\bin\mysqld" --defaults-file = "C:\ apps\MySQL\MySQLServer-5.5\my.ini "MySQL LOAD_ORDER_GROUP:タグ:0 DISPLAY_NAME:MySQL依存関係:SERVICE_START_NAME:LocalSystem

10)C:\ Documents and Settings\All Users\Application Data\MySQLの下に作成されたデフォルトのデータディレクトリの内容をコピーします[基本的にこのディレクトリ内のすべてのものを目的のデータディレクトリc:\ data\mysqlにコピーします]。 C:\ Documents and Settings\Allを取得してください。
Users\Application Data\MySQL\mysqlディレクトリ。これには、Host.frmファイルなどがあります。
最終的にc:\ data\MySQL\mysql ...というディレクトリになります。

11)デフォルトディレクトリの名前をC:\ Documents and Settings\All Users\Application Data\MySQLからC:\ Documents and Settings\All Users\Application Data\MySQLxxxに変更します。

12)簡単に祈りましょう...

13)[net start mysql]を使用してコマンドラインからキックスタートを行います

それは私のために働いた...

幸運を祈る!

0
eric manley

...古いもの...とにかく私はMariaDBで同じ問題を抱えていました

私の場合、ほとんどのパスには次のような特殊文字が含まれています。#my.iniでパスを二重引用符で囲むと、トリックが作成されます。

datadir="C:/#windata64/db/MariaDB/data"
0
Quicker

問題は、ディレクトリにデータがないように見えます。以前のディレクトリまたはC:\ Program Files\MySQL\MySQL Server 5.5\dataから少なくともmysqlディレクトリをコピーします。そして、もう一度試してください。

0
Roman M