我不知道这样做是否正确,但情况是这样的。我们在多个位置有多个服务器,每个服务器上都有一个 mysql 数据库。每个数据库结构完全相同。目标是从每个数据库中获取一个或两个表到一个位置。
我不想在一堆不同的服务器上运行一堆 crons。我想在一台服务器上运行所有操作,即统一数据库所在的服务器。
因此使用 ssh 和 mysqldump 通过 bash 转储表很容易。这里的挑战是我需要的数据不在表中,而是在 View 中。因此获取数据需要执行 mysql -e 而不是 mysqldump。
但此方法将数据作为数据转储到文件中,而不是作为可导入的 .sql 文件。
关于上述内容的任何指导和想法都会很棒。
谢谢
更新:
好的,目标是从合并服务器远程运行上述命令并在本地获取文件,然后该过程可以将数据从 View 导入到与 View 具有相同结构的普通表中。
最佳答案
您可以使用 SELECT * INTO OUTFILE 转储 View 中的数据。例如
## Exporting data
SELECT * INTO OUTFILE '/tmp/my_out.text'
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
FROM m_view;
## Creating migration table
CREATE TABLE m_m_test LIKE migrate_table;
## Loading data from file
LOAD DATA INFILE '/tmp/my_out.text' INTO TABLE m_m_test
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
来源:https://www.pythian.com/blog/can-just-dump-data-view-using-mysqldump/
关于php - 通过 Bash 的 Mysql View 转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45957755/