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

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

新規登録して質問してみよう
ただいま回答率
85.49%
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MySQL

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

488閲覧

MySQL のエラーメッセージ mysqld_safe mysqld from pid file の対処方法がわからない

oyatsu8

総合スコア97

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MySQL

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2022/09/02 09:20

編集2022/09/13 02:35

前提

MySQLもPythonも初心者です。下記のようなコードでPython に繋ごうとしていますが、以下のエラーメッセージが発生しました。色々調べているのですが、どうしてもうまく行かず、、ユーザー設定などの問題だと思うのですが、自力で解決できませんでした。

実現したいこと

Python3からMySQLのデータを使いたい

発生している問題・エラーメッセージ

% python3 test-connect.py Error Occurred: 2003: Can't connect to MySQL server on 'localhost:3306' (61 Connection refused)

該当のソースコード

参考のコードそのままです https://python.softmoco.com/basics/python-mysql-connect.php

Python (test

1import mysql.connector 2cnx = None 3 4try: 5 cnx = mysql.connector.connect( 6 user='root', # ユーザー名 7 password='password', # パスワード 8 host='localhost' # ホスト名(IPアドレス) 9 ) 10 11 if cnx.is_connected: 12 print("Connected!") 13 14except Exception as e: 15 print(f"Error Occurred: {e}") 16 17finally: 18 if cnx is not None and cnx.is_connected(): 19 cnx.close() 20

環境

macOS Monterey 12.3.1(M1,2020)
Mysql Ver 8.0.30 for macos12.4 on arm64 (Homebrew)
Python 3.8.9

試したこと

ターミナル上でのmysqlのクエリー操作
[追記]ターミナルからはコマンドラインでMySQLへ接続できている
と思っていましたが、今試したところ、mysql -u root -p の時点ですでにエラーになっていました。色々やる前はアクセスできていたのですが、おかしなことになっていました、、

% mysql.server start Starting MySQL SUCCESS! % mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) % mysql.server stop Shutting down MySQL . SUCCESS!

「mysqlでroot権限が設定されていなときのエラー」
https://www.aiship.jp/knowhow/archives/28257

Mysqlのgrant文でユーザ作成&権限付与しようとしてエラーが出たのでメモ
https://qiita.com/yamateion/items/5509484aaf1a02e9cc57

その後、下記を読みましたが、意味がわからず、、

MySQLでrootのパスワードを忘れたりログインできなくなった場合の対処方法
https://virment.com/reset-root-password-mysql/

Ubuntu18.04にMySQLをインストールする手順
MySQLにパスワードでログインできるように設定変更する
https://virment.com/how-to-install-mysql-ubuntu/#change-root-auth

更に発生している問題・エラーメッセージ こちらはmysqlだけの問題です。

MySQL停止
mysql.server stop

セーフモードで起動
sudo mysqld_safe --skip-grant-tables &
したところ、下記のような表示が出ました。

% sudo mysqld_safe --skip-grant-tables & [1] 35353 % 2022-09-03T01:31:57.6NZ mysqld_safe Logging to '/opt/homebrew/var/mysql/ユーザー名-2.local.err'. 2022-09-03T01:31:57.6NZ mysqld_safe Starting mysqld daemon with databases from /opt/homebrew/var/mysql 2022-09-03T01:31:57.6NZ mysqld_safe mysqld from pid file /opt/homebrew/var/mysql/ユーザー名-2.local.pid ended

mysqld_safe mysqld from pid fileをどうにかする?のかと思ったが、どうしていいかわからない。

2014-03-15
それでもローカルのMySQLが動かないときしたこと
https://otiai10.hatenablog.com/entry/2014/03/15/190134

【MySQL】[Mysql ERROR! The server quit without updating PID file]
https://zenn.dev/ryotaf/articles/6f5d12bda1f227

tail -f
MySQL :: ログ出力とバイナリログのtail
https://tm.root-n.com/database:mysql:etc:output_log_binlog_tail

ERROR! MySQL server PID file could not be found!
https://astail.net/?p=101

mysql プロセス確認 kill mac
https://qiita.com/yukihigasi/items/a1c84b14ad6807896003

mysqlのプロセスを確認
ps ax | grep mysql

ログインできない場合(rootユーザーのパスワード忘れ)
https://www.wakuwakubank.com/posts/484-mysql-safemode-update-root-pass/

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

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

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

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

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

AbeTakashi

2022/09/02 09:31 編集

MySQLは正しくインストールされていて、正しく起動していますか? データベースの設定やアカウントはちゃんと設定されていて、その設定とプログラムの中の設定は同一ですか? 環境がMacであるなら、まずはターミナルからコマンドラインでMySQLへ接続できるか試してみるべきかと思いますが、その辺は確認済みでしょうか? 質問文内にその辺の記載がないので確認のため書かせて頂きましたが、この辺が対応済みであれば、質問文もそのように記載をお願いします(コマンド上でちゃんと接続できているかどうかの情報が重要で、それが接続できてないならPythonでも繋がらないとは至極当然ですので・・・)
oyatsu8

2022/09/02 14:03

コメントをありがとうございます。ターミナルからはコマンドラインでMySQLへ接続できています。質問文に追記させていただきます。
oyatsu8

2022/09/02 14:13

今実際にやってみたら、コマンドラインからもつながらなくなっていました、、
AbeTakashi

2022/09/02 16:25

コマンドラインから"Access denied for user 'root'@'localhost' (using password: YES)"が出ているということは、「rootユーザにはアクセス許可ができません(パスワードを使っています)」というメッセージが出ているので、まずはこれを対応することでしょう。PythonのエラーメッセージはそもそもMySQLに接続できませんというエラーメッセージですので、また別の原因でしょう。第三者が分かることはこれくらいです。まずはコマンドラインで接続できるように色々試してみて、繋がった結果を元にしてPythonのスクリプトを調整してください。
oyatsu8

2022/09/03 01:04

ありがとうございます。"Access denied for user 'root'@'localhost' (using password: YES)"の対応から調べようと思います。
oyatsu8

2022/09/03 02:14

追記:セーフモードで何度か動かしているのですが、下記のようなエラーが出て、その対処ができずにいます。 セーフモードで起動 # sudo mysqld_safe --skip-grant-tables & エラーが出た % sudo mysqld_safe --skip-grant-tables & [1] 35353 % 2022-09-03T01:31:57.6NZ mysqld_safe Logging to '/opt/homebrew/var/mysql/ユーザー名-2.local.err'. 2022-09-03T01:31:57.6NZ mysqld_safe Starting mysqld daemon with databases from /opt/homebrew/var/mysql 2022-09-03T01:31:57.6NZ mysqld_safe mysqld from pid file /opt/homebrew/var/mysql/ユーザー名-2.local.pid ended
guest

回答1

0

ベストアンサー

mysql -u root -p でのエラーメッセージから可能性が高いのは、「パスワードが正しくない」です。
・いまいちどパスワードを確認してみましょう(大文字小文字/そもそも関係ない文字列を入れている/caps lock など)
・念のため、パスワード未設定の場合を考え、 -p オプションなしで試してみましょう

投稿2022/09/05 04:29

akisedolce

総合スコア11

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

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

oyatsu8

2022/09/13 02:25

コメントありがとうございます。返信が遅くなり申し訳ありません。python以前に mysqlの方に問題があり、ユーザー名もパスワードも間違っていたのが原因でした、、 https://teratail.com/questions/8mpr96wadneiqf ここで入れたユーザー名とパスワードを書いたらすんなり動きました。python以前にmysqlの勉強が必要でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問