質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

2回答

7472閲覧

MySQLがある日停止していて開始できない

Finekaz

総合スコア2

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2020/05/22 02:58

問題と目的

windows10MySQL8.0.19を使用しています。

5月14日まではMySQLは問題なく動いていました
5月15日にPCを起動し、MySQLに接続しようとすると

Can't connect to MySQL server on 'localhost' (10061)

とエラーになり、「MySQL80」サービスを確認すると停止していました。
開始しようとしても、

ローカルコンピューター上のMySQL80サービスは起動して停止しました。サービスの中には、ほかのサービスやプログラムで使用されていない場合は自動的に停止するものがあります。

と表示され、開始できませんでした。

依然として開始できない状況で、調べたり色々試したりしても対処法がわからないのでこちらで質問させていただきます。

何をしていたか

Accessで作ったシステムのバックエンドの部分をMySQLに移植するために開発用PCで作業を行っています。
その開発用PCで問題が発生している状態です。
現在、その開発用PCでMySQLサーバをインストールし、名前「test」データベースに元々Accessのバックエンドに置いていた12個のテーブルを置いています。
問題が起きた直近では、そのシステムのフロントエンドをいじっており、ODBCでMySQLに接続するために、パススルークエリを使ったり、コードのDAOをADOに変えていく作業を行っていました。
そしてある日突然ODBC接続のエラーが出てMySQLが停止していることに気づいたという経緯です。

試したこと

5月14日から5月15日にかけて何か変わった点は、
①Windows Updateの更新があった
②MySQLのデータベースでビューを定義した
です。

このことから次の2つを試しました。

①Windows Updateの5月14日の更新プログラム「KB4552931」と「KB4556799」をとりあえずアンインスールすれば開始できるようになるかもと考え、
更新を一時停止→アンインストールしてみましたが、MySQLは開始できませんでした。
ただしKB4556799の方は、アンインストールすると勝手にKB4551762がインストールされ、そのKB4551762はアンインストールできなかったので、完全に同じ状態ではないかもしれません。
元々KB4551762があって、KB4556799のインストールによってKB4551762が消えたということだったのかもしれません。(Windows Updateに関して無知でそういう風なことがよくあるものなのかもよくわかっていませんが、、もしご存じの方がいらっしゃれば教えて頂きたいです)

②ビューについて、テーブルのようにdatadirで定義したフォルダにわかりやすくファイルとして存在していれば、それをdatadirフォルダからデスクトップなどに移動→開始を試みてみようと思いました。
ただビューがどのように存在しているか調べてもわからず、
とりあえず、ビューを定義したデータベース「test」に関して、datadirのtestフォルダをデスクトップに移動→MySQLの開始、を試みましたが開始できませんでした。

MySQLが突然停止してしまって開始できないということについて、今後のことも考えるとMySQLの再インストールはできるだけ避けたいので、できれば原因を把握しておきたいのです。
どうかお知恵をお貸しください。

補足情報

定義したビュー

SELECT 社員.個人No, 社員.社員No, 社員.姓, 社員.名, 社員.せい, 社員.めい, 社員.性別, 社員.役職, 社員.部署詳細No, 部署詳細.部署詳細 AS 部署詳細, 社員.従事する業務の種類, a.最初の雇用年月日, If(a.最初の雇用年月日=社員.雇用年月日,'同',DATE_FORMAT(社員.雇用年月日, '%Y/%m/%d')) AS 雇用年月日, TIMESTAMPDIFF(YEAR,社員.雇用年月日,NOW()) AS 年数, 社員.生年月日, TIMESTAMPDIFF(YEAR,社員.生年月日,NOW()) AS 年齢, 社員.本籍, 社員.郵便番号, 社員.現住所, 社員.TEL, 社員.携帯TEL, 社員.家族連絡先_住所, 社員.家族連絡先_TEL, 社員.家族連絡先_携帯TEL, 社員.家族連絡先_姓, 社員.家族連絡先_名, 社員.家族連絡先_せい, 社員.家族連絡先_めい, 社員.家族連絡先_続柄, 社員.血液型, 社員.最近の健康診断日, 社員.血圧_上, 社員.血圧_下, 社員.体重, 社員.視力_右, 社員.視力_左, 社員.健診結果, 社員.特殊健康診断_日付, 社員.特殊健康診断_種類, 社員.健康保険_組合, 社員.健康保険_番号, 社員.年金保険, 社員.雇用保険, 社員.学歴_中学校_学校名, 社員.学歴_中学校_学科, 社員.学歴_中学校_卒業等年月, 社員.学歴_中学校_卒業等, 社員.学歴_高校_学校名, 社員.学歴_高校_学科, 社員.学歴_高校_卒業等年月, 社員.学歴_高校_卒業等, 社員.学歴_大学_学校名, 社員.学歴_大学_学科, 社員.学歴_大学_卒業等年月, 社員.学歴_大学_卒業等, 社員.学歴_その他_学校名, 社員.学歴_その他_学科, 社員.学歴_その他_卒業等年月, 社員.学歴_その他_卒業等, 社員.メモ, 社員.最終更新日時 FROM (部署詳細 INNER JOIN 社員 ON 社員.部署詳細No=部署詳細.部署詳細No) LEFT JOIN (SELECT Min(更新日時) AS 最初の雇用年月日, 個人No FROM 社員推移 GROUP BY 個人No) AS a ON 社員.個人No=a.個人No WHERE 社員.社員No<>'dummy' ORDER BY 社員.社員No;

社員マスタである「社員」テーブルと、「部署詳細」(部署テーブルもあり、それよりも区分が細かいという意味ですm(_ _)m)テーブルを結合。
さらに社員の異動などの履歴「社員推移」テーブルを使って、「今の雇用形態の雇用年月日」と「最初に会社に雇用された日」が異なる場合に「雇用年月日」列と「最初の雇用年月日」列に分けて出力する(同じ場合は雇用年月日に「同」と出力する)

errファイルの内容(字数制限のため直近から抜粋)

2020-04-23T06:23:55.370523Z 0 [System] [MY-013105] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Normal shutdown. 2020-04-23T06:23:56.224740Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.19) MySQL Community Server - GPL. 2020-04-23T06:23:57.461409Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. 2020-04-23T06:23:57.469500Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.19) starting as process 9684 2020-04-23T06:23:59.293351Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2020-04-23T06:23:59.404239Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.19' socket: '' port: 3306 MySQL Community Server - GPL. 2020-04-23T06:23:59.633760Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060 2020-05-14T05:09:21.951888Z 0 [System] [MY-013105] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Normal shutdown. 2020-05-14T05:09:23.828801Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.19) MySQL Community Server - GPL. 2020-05-15T01:09:41.453220Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. 2020-05-15T01:09:41.480660Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.19) starting as process 11116 2020-05-15T01:09:47.458896Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2020-05-15T01:09:47.842106Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.19' socket: '' port: 3306 MySQL Community Server - GPL. 2020-05-15T01:09:47.980203Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060 2020-05-15T01:13:29.083496Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. 2020-05-15T01:13:29.115715Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.19) starting as process 2576 2020-05-15T01:13:34.448832Z 0 [System] [MY-010229] [Server] Starting XA crash recovery... 2020-05-15T01:13:34.556943Z 0 [System] [MY-010232] [Server] XA crash recovery finished. 2020-05-15T01:13:35.029835Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2020-05-15T01:13:35.342740Z 0 [System] [MY-010931] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: ready for connections. Version: '8.0.19' socket: '' port: 3306 MySQL Community Server - GPL. 2020-05-15T01:13:35.503340Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060

回答のために情報が足りなければなんなりとお申し付けください。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

なんとも言えませんが、重要なファイルが欠損してしまったのかもしれません。
インストールし直した方がよいのでは?

投稿2020/05/22 02:59

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Finekaz

2020/05/22 03:08

回答ありがとうございます。 重要なファイルが欠損、ですか、、特に心当たりがなくても突然そういうことがあるものなんですかね(^^; 本番環境でも起こりうると考えると、少し怖いです。 もう少し回答を待ち、ダメそうなら再インストールで対応することにします。
guest

0

ベストアンサー

WindowsUpdateの再起動時にMySQLが正常にシャットダウンしなかったため、DBの構成ファイルのどれかが破損したものと考えられますね。
まずはリカバリーを試してみて、どうしてもダメだったら再インストールでしょうか。
リカバリーモードの手順は以下の記事が多少参考になるかと思います。

mysql starting-crash-recoveryからのリカバリ(DBが削除できない)

リカバリーレベルを徐々に上げながら試してみることになりますが、レベル4で恒久的に破損するようです。
レベル3までで起動できたら、全データのバックアップを取ってシステム再構成するほうが良いかもしれません。

最低限データの退避ができると良いですね。

投稿2020/05/22 04:03

hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Finekaz

2020/05/22 05:57

回答ありがとうございます。 リカバリモードというものがあるのですね。 今 [mysqld]のセクションに innodb_force_recoveryを追加し 1~6までそれぞれ設定して開始を試みましたが、開始できませんでした、、 6でも開始できないということはあるのでしょうか? 6でも開始できないというのは、何か他の基本的なミスのような気がしてしまいますが、、 あるとすれば、再インストールでしょうか。 幸い、テーブルのデータは今はAccessの方のテーブルに最新のものがあるので、データの退避については問題ありません。ご心配おかけしてすみません、ありがとうございますm(_ _)m できれば、どうしてそうなったのか、どういう状況で起こるのか、を今後のために知っておきたいです。 「WindowsUpdateの再起動時にMySQLが正常にシャットダウンしなかったため、DBの構成ファイルのどれかが破損した」というのは、errファイルなどから直接読み取れたものでしょうか?それとも、WindowsUpdate絡みでよく見かける現象、という感じでしょうか? 質問が多くて申し訳ありませんが、ご回答頂けると幸いです。
hope_mucci

2020/05/22 08:45

ログをみるとMySQL起動ログの直上に正常なシャットダウンログが存在します。 が、5/15のログにて、直上にシャットダウンログがない起動ログが存在します。 つまり正常にMySQLをシャットダウンしていない状態でMySQLが終了したかPCが終了した、ということがわかります。 そして、データベースエンジンは往々にして正常にシャットダウンさせないとデータやファイルが破損します。WindowsUpdateがある日は特に注意して予期せぬ再起動をさせぬようにしています。 また、起動できない詳しい原因は提示のログからは確認できません。[Error]が含まれる行が出力されていれば補足してください。
Finekaz

2020/05/25 10:45

返信が遅くなり申し訳ありません。 質問に対して貴重な説明を頂き、ありがとうございます。 疑問がよくわかりましたので、ベストアンサーとさせていただきます。ありがとうございました! この件は再インストールで対応しようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問