質問: プログラミング超初心者のtoshizuという者です。 プログラミングを学習していく中でデータベースに興味を持ち、自分のPCに導入しようとしてみたのですが、 MySQLをインストールし、実行してみようとすると、接続エラーになる問題で困っています。 原因または解決策をご存知の方はいらっしゃいませんか。 私の行った手順は以下の通りです。 (1) MySQLのサイト() から「Windows (x86, 64-bit), ZIP Archive」 をダウンロード。 (2) PCのDドライブに、MySQL専用のフォルダを作成し、フォルダ内にzipファイルを展開 (3) 同フォルダ内に、「data」、「logs」、「temp」、「mydata」フォルダを作成。さらに「my.ini」ファイルを作成し、参考記事に記載されていたコードをコピーペースト。 (4) 管理者モードでコマンドプロンプトを起動。MySQLをインストールしたフォルダに移動し、以下のコマンドでMySQLを初期化。 ``` bin\mysqld --initialize-insecure --user=mysql ``` (5) 以下のコマンドでMySQLを起動。 ``` bin\mysqld --defaults-file=".\my.ini" --console ``` (6) 新たにコマンドプロンプトを立ち上げて、以下のコマンドを実行し、MySQLにアクセスしようとしました。 ``` D:\myplace\01_server\mysql\bin>mysql -u root --skip-password ``` すると、以下のような結果になりました。 ``` ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060) ``` 私はこの手順でMySQLに接続できると思いました。 なぜなら、今回参考にさせていただいた記事の内容を、忠実に踏襲させていただいたからです。 Windows10にzipのMySQLをインストールして起動する方法 - Qiita 原因を確かめるため、以下のようなテストを行ってみましたが、問題の解決には至りませんでした。 (a) D:\myplace\01_server\mysqlに作ったmy.iniファイル内にある「basedir」、「datadir」といった変数を、「mysql」、「mysqldir」などといった名前に変更してみた。 →上記と同じ結果になった (b) my.iniファイルを、binフォルダにコピーしてみた。 →最終的には、上記と同じ結果になった (c) ネットで調べた結果、ファイアウォールの設定を変える必要がある場合がある、という結果を見たので、windows10のファイアウォールの設定を変えようとしましたが、MySQLフォルダの中身が混沌としすぎていて何をどうすればいいのか理解できなかった。 ちなみに、上記の手順のうち、(5)の手順を踏んだ際に、参考にした記事とは違う、以下のようなメッセージが表示されます。 ``` D:\myplace\01_server\mysql\bin>mysqld --defaults-file=".\my.ini" --console 2019-11-28T07:37:10.128011Z 0 [System] [MY-010116] [Server] D:\myplace\01_server\mysql\bin\mysqld.exe (mysqld 8.0.18) starting as process 19708 2019-11-28T07:37:10.128106Z 0 [ERROR] [MY-010338] [Server] Can't find error-message file 'C:\00_myspace\01_server\mysql\share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive. 2019-11-28T07:37:10.129126Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\00_myspace\01_server\mysql\data\mysqld_tmp_file_case_insensitive_test.lower-test 2019-11-28T07:37:10.129212Z 0 [Warning] [MY-010091] [Server] Can't create test file C:\00_myspace\01_server\mysql\data\mysqld_tmp_file_case_insensitive_test.lower-test 2019-11-28T07:37:10.129348Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to 'C:\00_myspace\01_server\mysql\data\' (OS errno: 2 - No such file or directory) 2019-11-28T07:37:10.146477Z 0 [ERROR] [MY-010119] [Server] Aborting 2019-11-28T07:37:10.146598Z 0 [System] [MY-010910] [Server] D:\myplace\01_server\mysql\bin\mysqld.exe: Shutdown complete (mysqld 8.0.18) MySQL Community Server - GPL. ``` なお、私の環境は以下の通りです。 【PC:Inspiron3471, メモリ:8GB, OS:Windows 10 Home(64ビット)】 検索エンジンでエラーメッセージをペーストし検索しましたが、 解決に役立つ情報は見つかりませんでした。 初歩的な質問で申し訳ありませんが、よろしくお願い致します。
回答: エラーメッセージによると`mysqld`が`c:\00_myspace\01_server\mysql`にファイルを作ろうとしています。 @Toshimizu さんは`D:\myplace\01_server\mysql`にファイルを配置していますので、 Qiitaの解説にある > > > ``` > [mysqld] > # set basedir to your installation path > basedir=C:\00_myspace\01_server\mysql\ > # set datadir to the location of your data directory > datadir=C:\00_myspace\01_server\mysql\data > > ``` > > を ``` [mysqld] # set basedir to your installation path basedir=D:\myspace\01_server\mysql\ # set datadir to the location of your data directory datadir=D:\myspace\01_server\mysql\data ``` に書き換えてみてください。