Python MySQL Connector:为什么我会根据用户的相同错误获得不同的错误消息?

时间:2018-01-20 21:36:11

标签: python mysql error-handling mysql-connector-python

我正在连接到mysql数据库以获取一些数据。它运行正常,但我正在尝试在出现问题时构建错误检查。

这是测试代码(没有错误检查):

conn = mysql.connector.connect(
         user='pool',
         password='password',
         host='127.0.0.1',
         database='emsdb')
conn.close()

当我将用户更改为不正确的用户时,我收到以下错误:

mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'pooll'@'localhost' (using password: YES)

这是我的预期。当我把错误的主机喂它时也一样:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'haarp:3306' (-2 Name or service not known)

但是当我故意给它输入错误的数据库名称时,我收到了这个错误:

mysql.connector.errors.ProgrammingError: 1044 (42000): Access denied for user 'pool'@'%' to database 'emsdbb'

而不是此错误(我正确看到但仅在使用root用户时):

mysql.connector.errors.ProgrammingError: 1049 (42000): Unknown database 'emsdbb'

所以我的问题是为什么#'汇集'用户得到的错误不同于' root'用户完全相同的错误(即 - 错误的数据库)?

我想要返回实际的,正确的错误,但我不想使用' root'用户要做到这一点。

由于

0 个答案:

没有答案