0

I started to watch this cool guy's flask lessons (https://www.youtube.com/watch?v=0Qxtt4veJIc&list=PLCC34OHNcOtolz2Vd9ZSeSXWc8Bq23yEz). I got stuck on 9th lesson, where I need to create a MySQL table. I installed :

mysql-connector==2.2.9
mysql-connector-python==8.2.0
mysql-connector-python-rf==2.2.2

using venv in VScode (on mac)

I made everything like in video (https://www.youtube.com/watch?v=hQl2wyJvK5k&t=145s), but when I start file create_db.py, I get this :

Traceback (most recent call last):
  File "/Users/nikitagudkov/Documents/Dev/flasker/create_db.py", line 3, in <module>
    mydb = mysql.connector.connect(
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/abstracts.py", line 716, in connect
    self._open_connection()
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/connection.py", line 208, in _open_connection
    self._do_auth(self._user, self._password,
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/connection.py", line 137, in _do_auth
    packet = self._protocol.make_auth(
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/protocol.py", line 99, in make_auth
    packet += self._auth_response(client_flags, username, password,
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/protocol.py", line 58, in _auth_response
    auth = get_auth_plugin(auth_plugin)(
  File "/Users/nikitagudkov/Documents/Dev/flasker/virt/lib/python3.9/site-packages/mysql/connector/authentication.py", line 190, in get_auth_plugin
    raise errors.NotSupportedError(
mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

I think problem connected with the way I downloaded MySQl or with a password for the root? I'll be happy to get your advice!

create_db.py :

import mysql.connector

mydb = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="my_passord"
)

my_cursor = mydb.cursor()
my_cursor.execute("CRETE DATABASE our_users")
my_cursor.execute("SHOW DATABASES")

for db in my_cursor:
    print(db)

requirements.txt :

blinker==1.6.3
click==8.1.7
Flask==3.0.0
Flask-SQLAlchemy==3.1.1
Flask-WTF==1.2.1
importlib-metadata==6.8.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mysql-connector==2.2.9
mysql-connector-python==8.2.0
mysql-connector-python-rf==2.2.2
protobuf==4.21.12
SQLAlchemy==2.0.22
typing_extensions==4.8.0
Werkzeug==3.0.0
WTForms==3.1.0
zipp==3.17.0
2
  • 1
    Definitely a version skew problem between your python connector (newer) and your database server (older). Commented Nov 3, 2023 at 23:36
  • Please keep mysql-connector-python==8.2.0, which is the official connector, and remove mysql-connector==2.2.9 and mysql-connector-python-rf==2.2.2. I suggest to remove all and install only mysql-connector-python==8.2.0. Most likely, the official modules are being overwritten by the other two packages. Commented Nov 6, 2023 at 14:22

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.