我需要在Linux服务器上的MariaDB数据库上建立一个表,以从其他Linux Linux MariaDB数据库服务器中收集数据(在一个表中连接同一类型的数据)。我无法跨服务器获取数据。
我登录到服务器A时,通过-hB --port = 3306 -u -p连接到服务器B,我运行我的代码,它运行得很好,并且可以准确地提供所需的数据,唯一的就是CSV文件是存储在要从中读取数据的服务器B上,我希望CSV文件存储在服务器A上。 我已经使用了“ into outfile”,然后计划使用“ mysqlimport”将服务器B,C和D的所有文件加载到服务器A的数据库中。 也许我应该使用mysqldump代替? 我的同事使用BCPOUT达到了这些结果。
SELECT
*
FROM
Database.Table
WHERE DATE(DateCreated) = CURDATE() INTO OUTFILE '/data/file.csv' FIELDS TERMINATED BY ',';
我需要将数据从多个Linux-MariaDB服务器中获取到一个Linux-mariaDB服务器中,在这里我可以将各种数据子集导入单个数据库中。
答案 0 :(得分:0)
您可以通过以下两种方式进行操作
mysql -u root -ptest -h hostname --batch -e "select * from db.table where date = now()" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > file_name.csv
OR
mysqldump -u root -ppwd dbname --tab='/home/user/Documents/db/' --tables stats --no-create-info --where='dates = "2017-12-31"'