flask连接mysql数据库的坑

  • 遇到的第一问题:

     SQLALCHEMY_DATABASE_URI 和 SQLALCHEMY_DATABASE_URL
    

    一看 大写的i 和大写的l 压根就没有多加思考 就写成了URL(小写是url)其实是URI

    是URI 不是 URL!!!

    是URI 不是 URL!!!

    是URI 不是 URL!!!

  • 遇到第二个问题

    没有加这个SQLALCHEMY_TRACK_MODIFICATIONS

     SQLALCHEMY_TRACK_MODIFICATIONS=False
    
  • 遇到的第三问题

    在连接的时候 遇到报错

    flask ModuleNotFoundError: No module named 'MySQLdb

    • 纠正

      • 先pip install pymysq

      • 将下列连接方式

        SQLALCHEMY_DATABASE_URI='mysql://root6@localhost:3306/test1'
        
      • 改为

        SQLALCHEMY_DATABASE_URI='mysql+pymysql://root6@localhost:3306/test1'
        
  • 遇到的第四个问题

    sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, “Access denied for user ‘root’@‘localhost’ (using password: NO)”)

    • 分析:没有设置密码

    • 修改

      SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:123456@localhost:3306/test1'
      
    • SQLALCHEMY_DATABASE_URI的书写格式总结

        SQLALCHEMY_DATABASE_URI='mysql+pymysql://用户名:密码@IP地址:端口号/数据库'
      

你可能感兴趣的:(报错解决,flask,mysql,数据库,python)