数据库无法连接到我在 digitalocean 上的不和谐机器人 (discord.py)

Posted

技术标签:

【中文标题】数据库无法连接到我在 digitalocean 上的不和谐机器人 (discord.py)【英文标题】:database won't connect to my discord bot on digitalocean (discord.py) 【发布时间】:2021-07-31 09:19:38 【问题描述】:

我使用 digitalocean 并在我的 droplets 中添加了数据库管理,并做出了所有可能的选项,但它无法连接......我尝试输入 sslmode="REQUIRED" 但它给了我另一个错误,它说我不应该把它.. . 像我让数据库连接到我的不和谐机器人吗? (水滴是ubuntu)

Traceback (most recent call last):
  File "/home/peppe/.venvs/discord/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 232, in _open_connection
    self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on 'discordbotdatabase....com:3306' (4)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "LMIIBotDevelopment.py", line 29, in <module>
    lmiibot_db = mysql.connector.connect(
  File "/home/peppe/.venvs/discord/lib/python3.8/site-packages/mysql/connector/__init__.py", line 272, in connect
    return CMySQLConnection(*args, **kwargs)
  File "/home/peppe/.venvs/discord/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 85, in __init__
    self.connect(**kwargs)
  File "/home/peppe/.venvs/discord/lib/python3.8/site-packages/mysql/connector/abstracts.py", line 1003, in connect
    self._open_connection()
  File "/home/peppe/.venvs/discord/lib/python3.8/site-packages/mysql/connector/connection_cext.py", line 232, in _open_connection
    self._cmysql.connect(**cnx_kwargs)
KeyboardInterrupt
import mysql.connector

lmiibot_db = mysql.connector.connect(
    host="discordbotdatabase....com",
    user="doadmin",
    passwd="password",
    database="lmiibot",
    auth_plugin="mysql_native_password",
)

【问题讨论】:

直接从互联网访问服务器是不正常的,看看你是不是用localhost 我目前没有使用 localhost。我在我的 ubuntu 液滴中添加了代码......我没有找到任何教程,所以我尝试这样做。 image 我不认识您的主机,但是直接从 Internet 访问是危险的,并且推荐,这就是为什么通常不解释并且您被告知使用 REST qzestion 中服务器上的 API 不幸的是,我一般对服务器知之甚少,我不知道该怎么做,我只想用机器人来处理事情。 安全性和其他安全性在今天非常重要,每毫秒都会扫描一次 ip。您必须花时间学习,也许其他人有一个很好的起点。 【参考方案1】:

已解决。我忘了添加服务器端口

import mysql.connector

lmiibot_db = mysql.connector.connect(
    host="discordbotdatabase....com",
    port="port"
    user="doadmin",
    passwd="password",
    database="lmiibot",
    auth_plugin="mysql_native_password",
)

【讨论】:

以上是关于数据库无法连接到我在 digitalocean 上的不和谐机器人 (discord.py)的主要内容,如果未能解决你的问题,请参考以下文章

在 digitalocean droplet 这样的服务器上拥有私有 ssh 密钥以连接到 github 是不是安全?

Node.js:从用户位置选择 DigitalOcean 城市

无法连接到服务器:没有到主机的路由服务器是否在主机“ ************”上运行并接受端口5432上的TCP / IP连接?

无法使用 mongoose 连接到 mongodb 数据库

我无法在Digital Ocean上进行远程部署

无法连接到我的 AWS 数据库实例 | psql:无法连接到服务器:操作超时