【问题标题】:How can we insert values from one database to another where the database base names are same and hosts are different我们如何将一个数据库中的值插入到另一个数据库基本名称相同且主机不同的数据库中
【发布时间】:2018-06-18 05:19:56
【问题描述】:

我想知道如何将值从一个数据库插入另一个数据库名称相同且主机不同的数据库

INSERT INTO db.mt_magazine_subscription ( 
  magazine_subscription_id, 
  subscription_name, 
  magazine_id, 
  status ) 
SELECT db.magazine_subscription_id, 
   subscription_name, 
   magazine_id, 
   '1'
 FROM tbl_magazine_subscription

两个数据库都托管在不同的服务器主机上。

【问题讨论】:

  • 我会备份原始模式,在与目标模式相同的数据库中使用另一个名称恢复它,并使插入位于相同的数据库中
  • 是的,数据库名称相同但主机不同,一个是生产数据库,另一个是开发数据库
  • 这意味着 mysql 服务器必须连接到另一个 mysql 服务器。我不知道这是否可能。这可能必须通过带有 mysqladmin 的 cli 来完成,甚至可能通过转储来完成。我建议使用像 phpMyAdmin 这样的客户端(可以连接更多服务器),您甚至可以使用它导出单个行并将它们插入到不同主机上的不同数据库中。

标签: mysql


【解决方案1】:

有很多方法(如 CLI 脚本、PHP 脚本、cron 作业),但取决于您,哪种方式适合您。

在 PHP 中你可以像这样管理多个连接。

     $dbh1 = mysql_connect($hostname, $username, $password); 
     $dbh2 = mysql_connect($hostname, $username, $password);

您可以选择任何数据库并像这样运行查询

    mysql_select_db('database1', $dbh1);
    mysql_query('select * from tablename', $dbh1);

    mysql_select_db('database2', $dbh2);
    mysql_query('select * from tablename', $dbh2);

所以算法是 Step1 : 与数据库服务器 $dbh1, $dbh2 建立连接 Step2 : 通过 $dbh1 从一个数据库中选择/获取表数据 Step3 : 通过 $dbh2 在第二个数据库中插入数据(从 $dbh1 获取)

您可以将此脚本设置为 cron 作业。 我希望这能帮到您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 2020-07-10
    • 2016-07-19
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多