All Projects → memgraph → mgmigrate

memgraph / mgmigrate

Licence: GPL-3.0 license
mgmigrate is a tool for migrating data from MySQL or PostgreSQL to Memgraph and between Memgraph instances.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to mgmigrate

hasura-metadata-patcher
CLI tool to patch Hasura metadata json file. Helps to organize complex CI/CD flows through different environments.
Stars: ✭ 14 (-17.65%)
Mutual labels:  migration, migration-tool
mage
MAGE - Memgraph Advanced Graph Extensions 🔮
Stars: ✭ 89 (+423.53%)
Mutual labels:  cypher, memgraph
toggl2clockify
Migrate data from toggl to clockify
Stars: ✭ 21 (+23.53%)
Mutual labels:  migration, migration-tool
butterfly
Application transformation tool
Stars: ✭ 35 (+105.88%)
Mutual labels:  migration, migration-tool
mongration
MongoDB data migration tool for Spring Boot projects
Stars: ✭ 21 (+23.53%)
Mutual labels:  migration, migration-tool
Migrate2Postgres
Easily migrate from other DBMSs to PostgreSQL
Stars: ✭ 47 (+176.47%)
Mutual labels:  migration, migration-tool
maildir2gmail
Maildir 2 Gmail
Stars: ✭ 14 (-17.65%)
Mutual labels:  migration, migration-tool
porter
Export legacy forums into a format Vanilla Forums can import.
Stars: ✭ 39 (+129.41%)
Mutual labels:  migration
Graph-OLAP
An attempt to model an OLAP cube with Neo4j.
Stars: ✭ 37 (+117.65%)
Mutual labels:  cypher
great-migration
Copy objects from Rackspace to S3
Stars: ✭ 15 (-11.76%)
Mutual labels:  migration
tm-tools
some useful tools for tendermint blockstore.db or state.db
Stars: ✭ 14 (-17.65%)
Mutual labels:  migration
SP Hauler
Copy Libraries and Lists Content between ANY Version of SharePoint (SP2010/SP2013/SP2016/SPOnline).
Stars: ✭ 21 (+23.53%)
Mutual labels:  migration-tool
sprockets-bumble d
Sprockets plugin to transpile modern javascript using Babel, useful while migrating to ES6 modules
Stars: ✭ 32 (+88.24%)
Mutual labels:  migration
mik
The Move to Islandora Kit is an extensible PHP command-line tool for converting source content and metadata into packages suitable for importing into Islandora (or other digital repository and preservations systems).
Stars: ✭ 32 (+88.24%)
Mutual labels:  migration
amazon-s3-data-replication-hub-plugin
The Amazon S3 Transfer Plugin for Data Transfer Hub(https://github.com/awslabs/data-transfer-hub). Transfer objects from S3(in other partition), Alibaba Cloud OSS, Tencent COS, Qiniu Kodo into Amazon S3.
Stars: ✭ 32 (+88.24%)
Mutual labels:  migration
gitlab to gitea
Gitlab to Gitea migration script.
Stars: ✭ 54 (+217.65%)
Mutual labels:  migration
Cypher.js
Cypher graph database for Javascript
Stars: ✭ 30 (+76.47%)
Mutual labels:  cypher
NeoClient
🦉 Lightweight OGM for Neo4j which support transactions and BOLT protocol.
Stars: ✭ 21 (+23.53%)
Mutual labels:  cypher
schema-builder
Laravel/Lumen schema builder & migration generator
Stars: ✭ 51 (+200%)
Mutual labels:  migration
flickr to google photos migration
A tool for migrating your photo library from Flickr to Google Photos
Stars: ✭ 39 (+129.41%)
Mutual labels:  migration

mgmigrate

license build build

Follow @memgraphdb

Welcome to the mgmigrate tool repository. This tool can help you migrate data from a PostgreSQL or MySQL database to Memgraph. It can also be used to migrate data between Memgraph instances.

⚙️ Installation guide

You can install mgmigrate on the following systems:

Linux

To install compile dependencies on Debian / Ubuntu run:

apt-get install -y git cmake make gcc g++ python3 libpq-dev postgresql-server-dev-all
pip3 install pymgclient psycopg2 mysql-connector-python

On RedHat / CentOS / Fedora run:

yum install -y git cmake make gcc gcc-c++ python3 libpqxx-devel
pip3 install pymgclient psycopg2 mysql-connector-python

Once all the requirements are in place, create a build directory inside the source directory and configure the build by running CMake from it as follows:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=. ..

Continue with the Building and installing step.

Windows

Before you can install mgmigrate on Windows, you will need to install the needed dependencies. On Windows, you need to install the MSYS2. Just follow the instructions, up to step 6. In addition, OpenSSL must be installed. You can easily install it with an installer. The Win64 version is required, although the "Light" version is enough. Both EXE and MSI variants should work. Then, you'll need to install the dependencies using the MSYS2 MINGW64 terminal, which should be available from your Start menu. Just run the following command inside the MSYS2 MINGW64 terminal:

pacman -Syu --needed base-devel git mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-openssl mingw-w64-x86_64-postgresql

Once all the requirements are in place, create a build directory inside the source directory and configure the build by running CMake from it as follows:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=. ..

Continue with the Building and installing step.

macOS

On macOS, first, make sure you have XCode and Homebrew installed. Then, in the terminal, run:

brew install git cmake make openssl postgresql

Once all the requirements are in place, create a build directory inside the source directory and configure the build by running CMake from it as follows:

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR="$(ls -rd -- /usr/local/Cellar/[email protected]/* | head -n 1)" -DCMAKE_INSTALL_PREFIX=. ..

Continue with the Building and installing step.

Building and installing

After running CMake, you should see a Makefile in the build directory. Then you can build the project by running:

make

Once all the requirements are in place, run:

make install

This will install mgmigrate in the default system installation directory. If you want to change this location, use -DCMAKE_INSTALL_PREFIX option when running CMake.

📋 Usage

MySQL

This is an example of using mgmigrate with a MySQL database:

build/src/mgmigrate --source-kind=mysql /
  --source-host 127.0.0.1 /
  --source-port 33060 /
  --source-username root /
  --source-password mysql /
  --source-database=exampledatabase /
  --destination-host 127.0.0.1 /
  --destination-port 7687 /
  --destination-use-ssl=false

PostgreSQL

Here is an example of how to use the mgmigrate tool with PostgreSQL:

build/src/mgmigrate --source-kind=postgresql /
  --source-host 127.0.0.1 /
  --source-port 5432 /
  --source-username postgres /
  --source-password postgres /
  --source-database=exampledatabase /
  --destination-host 127.0.0.1 /
  --destination-port 7687 /
  --destination-use-ssl=false

🔎 Arguments

The available arguments are:

Parameter Description Default
--source-kind The kind of the given server. Supported options are: memgraph , mysql and postgresql. memgraph
--source-host Server address of the source database. 127.0.0.1
--source-port Server port of the source database. 0
--source-username Username for the source database. -
--source-password Password for the source database. -
--source-database Database name. Applicable to PostgreSQL and MySQL source. -
--destination-use-ssl Should the connection to the source database (if Memgraph) use SSL. false
--destination-host Server address of the destination database. 127.0.0.1
--destination-port Server port number of the destination database. 7687
--destination-username Username for the destination database. -
--destination-password Password for the destination database. -
--destination-use-ssl Should the connection to the destination database (if Memgraph) use SSL. false
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].