Как импортировать или передавать данные на другой сервер, используя Linux и MariaDB - PullRequest
0 голосов
/ 23 мая 2019

Мне нужно настроить одну таблицу в базе данных MariaDB на сервере Linux, которая собирает данные (объединяет данные одного типа в одной таблице) с различных других серверов базы данных Linux MariaDB. Я не могу получить данные через серверы.

Я вошел на сервер A, подключился к серверу B с -hB --port = 3306 -u -p, я запускаю свой код, он работает отлично и дает мне именно те данные, которые мне нужны, единственное, что файл CSV хранится на сервере B, с которого я читаю данные, я хочу, чтобы файл CSV хранился на сервере A. Я использовал «в выходной файл», затем планирую использовать «mysqlimport» для загрузки всех своих файлов с сервера B, C & D в базу данных на сервере A. Возможно, мне лучше использовать mysqldump? Мой коллега достигает этих результатов, используя BCPOUT.

mysql -hB --port = 3306 -u -p <$ SCRIPTPATH ​​/ mysqlcode.sql </h2> SELECT * FROM Database.Table WHERE DATE(DateCreated) = CURDATE() INTO OUTFILE '/data/file.csv' FIELDS TERMINATED BY ','; Мне нужно получить данные подмножества данных с многочисленных серверов Linux-MariaDB на 1 сервер Linux-mariaDB, где я могу импортировать различные подмножества данных в одну базу данных.

1 Ответ

0 голосов
/ 23 мая 2019

вы можете сделать это двумя способами

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"'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...