账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python无法连接MySQL数据库是什么原因?
    15
    0

    我想要使用Python来连接MySQL数据库,但是报了如下错误

    File "/usr/local/lib/python3.5/dist-packages/pymysql/__init__.py", line 94, in Connect
        return Connection(*args, **kwargs)
    File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 325, in __init__
        self.connect()
    File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 599, in connect
        self._request_authentication()
    File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 861, in _request_authentication
        auth_packet = self._read_packet()
    File "/usr/local/lib/python3.5/dist-packages/pymysql/connections.py", line 684, in _read_packet
        packet.check_error()
    File "/usr/local/lib/python3.5/dist-packages/pymysql/protocol.py", line 220, in check_error
        err.raise_mysql_exception(self._data)
    File "/usr/local/lib/python3.5/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
        raise errorclass(errno, errval)
    pymysql.err.InternalError: (1049, "Unknown database 'expert'")

    百度结果均告知为未创建相应的数据库导致本错误,但是我已经创建了expert数据库,但仍然提示数据库不存在。
    此外,本服务器下的数据库均能正常连接。

    这是我的数据库连接代码:

    config = {
                'host': cf.get("mySql", "host"),
                'port': int(cf.get("mySql", "port")),
                'user': cf.get("mySql", "user"),
                'password': cf.get("mySql", "password"),
                'db': cf.get("mySql", "db"),
                'charset': cf.get("mySql", "charset")
            }
    
    table_to_save = cf.get("mySql", "save_table")
            try:
                con = pymysql.connect(**config)
            except Exception:
                con = Exception
                log_info = "Connection to MySQL has been rejected"
                print(log_info)
                os._exit(0)

    配置文件为:

    [mySql]
    host=127.0.0.1
    port=3306
    user=root
    password=123456
    db=expert
    charset=utf8

    有大佬可以帮忙解决一下吗?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 古桥月夜 普通会员 1楼

      Python无法连接MySQL数据库可能是因为Python不支持MySQL,或者Python的MySQL驱动程序版本太低,无法连接到MySQL数据库。另外,Python也可能是由于MySQL服务器不可用,或者是由于MySQL服务器的防火墙阻止了Python的连接。

    更多回答
    扫一扫访问手机版