如何从另一台计算机访问我的数据库 mysql
Posted
技术标签:
【中文标题】如何从另一台计算机访问我的数据库 mysql【英文标题】:how access my database mysql from another computer 【发布时间】:2021-10-25 20:02:08 【问题描述】:我有一个用 python 制作的程序,负责制作 mysql 数据库的 CRUD。在我的机器上它运行良好,但是当我尝试将它传递给另一台机器时它不起作用。我相信这是因为它没有托管在服务器上,我也不知道该怎么做。如何将它放在 Internet 上的服务器上并访问它? 非常感谢您提前。下面是负责连接数据库的python代码。
import mysql.connector
class DBHelper:
def __init__(self):
'''
O construtor é responsável por fazer a conexão com o banco de dados e criar as tabelas
livros, autores e editoras.
'''
self.data_base = mysql.connector.connect(
host='localhost',
user='root',
passwd='',
database='livraria_db'
)
self.cursor = self.data_base.cursor()
self.cursor.execute('''
CREATE TABLE IF NOT EXISTS livros (
id INT (255) NOT NULL AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR (255) NOT NULL,
autor VARCHAR (255) NOT NULL,
editora VARCHAR (255) NOT NULL,
paginas INT (255) NOT NULL,
proprietario VARCHAR (255) NOT NULL
);
''')
self.cursor.execute('''
CREATE TABLE IF NOT EXISTS autores (
id INT (255) NOT NULL AUTO_INCREMENT PRIMARY KEY,
autor VARCHAR (255) NOT NULL
);
''')
self.cursor.execute('''
CREATE TABLE IF NOT EXISTS editoras (
id INT (255) NOT NULL AUTO_INCREMENT PRIMARY KEY,
editora VARCHAR (255) NOT NULL
);
''')
【问题讨论】:
您可以通过了解其真实IP地址来访问您计算机上安装的mysql。如果您没有连接到 ***,您可以通过icanhazip.com 找到 IP 地址。您可以在代码中写 localhost 的地方写下 IP 地址。但我不推荐它,我只是给出了这个信息,因为它是可能的。如果您要让其他用户可以访问您的应用程序,它必须托管在服务器上,例如,您可以在这里创建它aws.amazon.com/tr/rds/mysql 这只是一个选项。有很多这样的供应商,你可以选择。 @gizemsever 我尝试了heroku,但它给了我错误,你能告诉我aws是否免费吗? 不,它不是免费的 【参考方案1】:您应该拥有访问点可以看到的计算机 IP,并将 替换为
host = 'internal IP'
我想你也应该有port = 3306
您可以从连接到同一网络的任何计算机访问数据库。如果您想远程访问它,请安装客户端 ***(如wireguard)并从任何地方连接
【讨论】:
但是如果我的电脑关闭,用户将无法访问它,好吗? 是的,有数据库的机器必须24小时在线,用户才能查询数据库以上是关于如何从另一台计算机访问我的数据库 mysql的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SQL 开发人员从另一台计算机访问安装在一台计算机上的 oracle db(以便 2 人可以在同一个数据库上协同工作)