密碼錯誤導致的sqlalchemy pymysql網站連接出錯
阿新 • • 發佈:2018-10-31
Flask網站連線mariadb時提示:
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'jack'@'master' (using password: YES)")
但是DBvisual連線正常:
檢視使用者發現jack在外部%訪問時和從localhost時的密碼不一樣導致的,換個密碼就對了。
Database changed MariaDB [mysql]> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *7FB5824FA44505598280159F029E3520E34A0D43 | | root | centos | *7FB5824FA44505598280159F029E3520E34A0D43 | | root | 127.0.0.1 | *7FB5824FA44505598280159F029E3520E34A0D43 | | root | ::1 | *7FB5824FA44505598280159F029E3520E34A0D43 | | jack | % | *0A7E2C93A6ADFE3F4894F4DB8D67D41B0CF995DE | | jack | localhost | *0A7E2C93A6ADFE3F4894F4DB8D67D41B0CF995DE | +------+-----------+-------------------------------------------+ 6 rows in set (0.001 sec) MariaDB [mysql]>
MariaDB [mysql]> show grants for jack; +-----------------------------------------------------------------------------------------------------+ | Grants for [email protected]% | +-----------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'jack'@'%' IDENTIFIED BY PASSWORD '*0A7E2C93A6ADFE3F4894F4DB8D67D41B0CF995DE' | | GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON `mysql`.* TO 'jack'@'%' | | GRANT SELECT, INSERT, UPDATE, DELETE, ALTER ON `xtdt`.* TO 'jack'@'%' | +-----------------------------------------------------------------------------------------------------+
Sqlalchemy的url改一下密碼就可以了
#修改jack:jackdb,jackdb是外部連線時的密碼
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://jack:[email protected]:3306/xtdt?charset=utf8'