前提
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/

回答1件
あなたの回答
tips
プレビュー