環境ubuntu 20.04
python3.9
Anaconda3
Vscode
Mysql8.0.27
MysQLとPythonの勉強で書きこコードを書きました。
pythonからデーターベースを作りました。
import sqlalchemy import sqlalchemy.ext.declarative import sqlalchemy.orm engine = sqlalchemy.create_engine('mysql+pymysql:///testmysql_database:', echo=True) Base = sqlalchemy.ext.declarative.declarative_base() class Person(Base): __tablename__ = 'persons' id = sqlalchemy.Column( sqlalchemy.Integer, primary_key=True, autoincrement=True) name = sqlalchemy.Column(sqlalchemy.String(14)) Base.metadata.create_all(engine) Session = sqlalchemy.orm.sessionmaker(bind=engine) session = Session() p1 = Person(name='Mike') session.add(p1) p2 = Person(name='Nancy') session.add(p2) p3 = Person(name='Saito') session.add(p3) session.commit() p4 = session.query(Person).filter_by(name='Mike').first() p4.name = 'Michel' session.add(p4) session.commit() p5 = session.query(Person).filter_by(name='Nancy').first() p5.name = 'Nancy' session.delete(p5) session.commit() persons = session.query(Person).all() for person in persons: print(person.id, person.name)
あらかじめ、mysqlをターミナルからログインして、testmysql_databaseを作りました。
コードを実行したら以下のエラーが発生しました。
例外が発生しました: OperationalError (pymysql.err.OperationalError) (1045, "Access denied for user 'saito'@'localhost' (using password: NO)") (Background on this error at: https://sqlalche.me/e/14/e3q8) The above exception was the direct cause of the following exception: File "/home/saito/python/lesson.py", line 15, in <module> Base.metadata.create_all(engine)
普通にログインできるので、なぜpythonからログインできないのか分かりません。
mysql5.7の情報はあるのですが8.0は中々ググっても見つからないで困っています。
あなたの回答
tips
プレビュー