背景
自作したWebアプリが、ひとまずの完成を迎えたということもあり初めて公開しようとしたのですが、そのためにはDBがMySQLやPostgreSQLでないとだめみたいでした。そこで練習用に作成していたWebアプリで使用していたDBをMySQLに変更しようと思いMySQLのインストール含め、もろもろやってみました。
概要
- インストーラーがうまく動作しない。
- そのせいなのか、MySQL Shellの動作が少しおかしく感じる場所がある。
- MySQL Shellでの操作をあきらめ、コマンドプロンプトで操作することにする。
- サーバーが起動していないのでは??
インストーラーがうまく動作しない
写真を撮り忘れてしまうという痛恨のミスを行ってしまったため、画像がないのですが、Pythonに関する部分が✖になっていました。MySQL Shellの挙動が変であるか、元からの使用なのかは微妙なところです。
コマンドプロンプトで操作する
Pathの設定がまだな人はこちらを参照してください。
コマンドプロンプト(以下cmd)を利用しようとしました。しかし、 mysql と入力してもエラーメッセージが出るだけでした。
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
エラーメッセージで調べたところ、ヤフーのものなどが出てきましたが、うまく解決まで行けているようには見えませんでした。
その後いろいろ調べてみた結果、そもそもサーバーが起動されていないのではないか という結論に至りました。調べる方法はこのような具合です。
mysqladmin ping
結果がこのように帰ってきた場合は、接続されています。1つ目は 正常 です。2つ目は 接続はできていますが、パスワードを入力する必要があります。
mysqld is alive
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'ODBC'@'localhost' (using password: NO)'
しかし、次のように出てきた場合は接続されていません。これは単純に、 サーバーが起動されていないことを示しています。
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (10061)'
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing 'telnet localhost 3306'
コマンド2に当たる方は↓のURLを参考にしてください。
コマンド3の状況の方は下記注意点と合わせて下のサイトを参照してください。
接続に関しての注意点
注意点は、パソコンの管理者権限がないといけないという点になります。私の場合、父のパソコンを借用という形になるので、管理者権限 で苦労しました。
警告
cmdからの場合はcmdを管理者権限で開く必要があります
警告
上記サイトに従って、自動化する場合は管理者権限を持つアカウントでログインしないと、そもそも自動化のボタンを押すことができません。
警告
自動化した場合は、再起動が必要です。再起動しない場合は、cmdに入力をしても変わらずエラーが出続けます。
要は、なんにしても 管理者権限 が重要だということです。
再起動 は忘れずに...
まとめ
最終的には、そもそもサーバーが起動されていないということが自分の場合は、問題でした。MySQL Shellに関してはまだ試していないですが、おそらく異常はないのではないかと思います。新しい環境の設定は初心者🔰の自分にとっては、毎回様々な問題が出る難題です。少しでも初期環境設定に苦しむ皆様のお役に立てたら幸いです。