【问题标题】:Multiple databases in same MySQL server同一 MySQL 服务器中的多个数据库
【发布时间】:2021-07-18 23:45:39
【问题描述】:

我的一个 Django 项目已经在 MySQL 中有一个数据库。 我需要让两个独立的 Django 项目共享同一个数据库。

project1/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS' : {
            'read_default_file': '/etc/mysql/my.cnf',
        },
    }
}

project1/etc/mysql/my.cnf:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[client]
database = project1
user = project_user
password = Password
port = 3307
default-character-set = utf8

在这里,我可以为我的第二个项目使用不同的数据库 (database = project2) 吗?

我愿意使用相同的user 和相同的password

我该怎么做?

【问题讨论】:

  • 使用创建数据库 project2 并在您的连接 sring 中使用它
  • 对不起,我没听明白。我可以创建新的数据库 project2 ,但是我正在运行的项目如何知道,使用了哪个数据库?如果我从我的 project2 转到 /etc/mysql/my.cnf,它对 project1 和 project2 的想法相同。
  • 每个项目都有自己的my.cnf。在哪里声明 database ,所以在创建一个新的数据库后,inmyssql 工作台或使用 mysql 客户端编辑新项目的 my.cnf 文件,一个项目也可以有多个数据库 docs.djangoproject.com/en/3.2/topics/db/multi-db

标签: mysql django database django-mysql


【解决方案1】:
CREATE DATABASE project2;

您可以从 MySQL 客户端控制台运行上述查询。这将在 MySQL 中创建新的数据库“project2”。

并在您的第二个项目的 my.cnf 中将值更改为“database = project2”。那应该行得通。您只需要为第二个项目使用不同的 my.cnf 文件。如上所述,第一个项目路径是“project1/etc/mysql/my.cnf”。您应该有类似“project2/etc/mysql/my.cnf”作为第二个项目 my.cnf 路径。

【讨论】:

  • 好吧,如果我从我的 project2 转到 my.cnf,它会显示 [client] database = project1 user = project_user password = Password port = 3307 如果我在这里更改,我的 project1 是否能够将数据插入到 project2 中?
  • 我已经更新了上面的答案以便更好地解释。您需要为第二个项目使用不同的 my.cnf 文件。每个项目都应该有一个单独的 my.cnf 文件。
  • 感谢您的解释,现在在更改 project2 的 my.cnf 文件后,如果我在可视代码中打开 project1 并运行 project1,则找不到 project1 数据库。那么,如果我想在同一个环境中运行我的两个项目,我怎样才能让两个数据库都处于活动状态?
  • 您可以在一个 MySQL 实例中拥有多个数据库/模式。您可以在 MySQL 中同时创建 project1 和 project2 数据库。
  • 我在 MySQL 实例中创建了 project1 和 project2 数据库。现在我面临的问题是,如果我将my.cnf 文件编辑为project2 的名称,不幸的是,它也更改为project1 my.cnf 文件。我想说的是,通过从不同的项目转到 /etc/mysql/my.cnf 这个位置,我得到了相同的 my.cnf 文件。我知道,不同的项目应该有不同的my.cnf 文件,但是当我在 vSCode 中打开我的项目时,如果我去my.cnf 文件,两者都具有相同的数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多