08 января 2018 30 августа 2021 СуБД Postgresql Mysql | решать тесты
Нужно ли перезапускать сервер Mysql?
Нет простого способа перекинуть данные из разных СУБД, даже в OpenSource. Но всё же можно и сделать это можно через промежуточный формат CSV следующим образом в терминале Postgresql выгружаем нужную таблицу в файл /tmp/test.csv
Copy (Select * from region) To '/tmp/test.csv' With CSV DELIMITER '|';
Затем, необходимо разрешить Mysql загружать данные из внешних файлов, для этого нужно временно добавить в файл /etc/mysql/my.cnf в секцию добавить параметр secure-file-priv
[mysqld]
#
# * Basic Settings
#
secure-file-priv = ""
затем нужно сохранить файл и перезапустить Mysql сервер. После того как сервер перезапущен необходимо переложить файл в специальную директориую которая разрешена для чтения в рамках Mysql
mv /tmp/test.csv /var/lib/mysql-files/
после это заходим в терминал mysql и загружаем данные из нашего файла
LOAD DATA INFILE '/var/lib/mysql-files/test.csv' INTO TABLE region FIELDS TERMINATED BY '|' ;
всё, теперь можно удалить файл и вернуть настройки Mysql сервера на место