サムネがコーヒーの記事は書きかけです。

M1Macのvscode上でMySQLを使えるようにする

M1MacでMySQLを設定した時の記録を書いておきます。

どうやら、M1MacではER_SUPPORTED_AUTH_MODEエラーが出るため、MySQLサーバーのインストール時にレガシー認証メソッドを選択する必要があるようです。

インストール

以下の公式サイトから、CPUアーキテクチャにあったものをダウンロード、インストール。

https://dev.mysql.com/downloads/mysql/

初期設定

以下のコマンドを実行。

touch ~/ .bash_profile
open ~/ .bash_profile

bash_profileを開いて、以下PATHを追加。

Export PATH=${PATH}:/usr/local/myaql/bin

接続確認

mysql -u root -p 

終了コマンド

 quit;

PythonからMySQLに接続

まずは必要モジュールを追加。

pip install mysql-connector-python

上記モジュールを使用して、MySQLへの接続を行なってみます。

import mysql.connector
import user 
c = None
try:
    c = mysql.connector.connect(
            user='root', 
            password=f'{user.password}1',  
            host='localhost'  
        )
    if c.is_connected:
            print("Connected...")

except Exception as e:
        raise e

finally:
    if c is not None and c.is_connected():
        c.close()
        print("Connection closed.")

>>>
Database.py
Connected...
Connection closed.

Pythonからの操作に関しては、別の記事で詳しくまとめます。

vscode上でMySQLを操作

以下の拡張機能を追加。

インストールできたら、エクスプローラの項目にMySQLが出現するので、add connection。

hostにローカルホストを指定。

次に、ターミナルからMySQLに接続して、ユーザーIDを取得。

 mysql -u root -p
SELECT Host, User FROM mysql.user;

vscodeに任意のユーザーIDを入力。

パスワードの入力が求められるので、入力後、標準ポート番号3306を指定してデータベースに接続。

Error: ER_SUPPORTED_AUTH_MODE: Client does not support authentication protocal requested by server consider upgrading MySQL client

というエラーが出ました。調べてみると、サーバー側がサポートしていない認証モードを使おうとした時に起こるようです。

https://superuser.com/questions/1438960/error-er-supported-auth-mode-client-does-not-support-authentication-protocal-r

MySQLを再インストールして、Legacy Password Encryption を指定したら解決しました。

これでvscode上でMySQLを操作できるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です