correlation with https://teguhth.blogspot.com/2025/12/create-tools-migration-from-mongodb-to.html
1. data migration server A Maria to server B mongo
server A Mariadb
ip : 10.10.10.90
db : teguhth
port 3306
user : admin
password : admin
server B mongodb
ip : 10.10.10.9
db : mariadbsample
port 27017
user : admin
password : admin
buat script shell untuk migrasi dari server A maria to server B mongo
db.barang.find();
db.barang.drop();
db.suplier.find();
db.suplier.drop();
db.customer.find();
db.customer.drop();
db.pasok.find();
db.pasok.drop();
db.pembelian.find();
db.pembelian.drop();
2. run script migrasi
[root@teguhth-all nocsv]# pwd
/data/migrasi/mongo-to-maria-and-reserve/reserve/nocsv
[root@teguhth-all nocsv]# ls
migrasi_barang_maria_to_mongo_stream_nocsv.sh migrasi_pasok_maria_to_mongo_stream_nocsv.sh migrasi_suplier_maria_to_mongo_stream_nocsv.sh
migrasi_customer_maria_to_mongo_stream_nocsv.sh migrasi_pembelian_maria_to_mongo_stream_nocsv.sh
[root@teguhth-all nocsv]# ls -lh
total 20K
-rw-r--r-- 1 root root 1.3K Feb 5 15:12 migrasi_barang_maria_to_mongo_stream_nocsv.sh
-rw-r--r-- 1 root root 1.4K Feb 5 15:20 migrasi_customer_maria_to_mongo_stream_nocsv.sh
-rw-r--r-- 1 root root 1.4K Feb 5 15:22 migrasi_pasok_maria_to_mongo_stream_nocsv.sh
-rw-r--r-- 1 root root 1.4K Feb 5 15:25 migrasi_pembelian_maria_to_mongo_stream_nocsv.sh
-rw-r--r-- 1 root root 1.4K Feb 5 15:18 migrasi_suplier_maria_to_mongo_stream_nocsv.sh
[root@teguhth-all nocsv]#
3. run script
4. result migrasi
5. script migrasi barang
[root@teguhth-all nocsv]# pwd
/data/migrasi/mongo-to-maria-and-reserve/reserve/nocsv
[root@teguhth-all nocsv]#
[root@teguhth-all nocsv]# cat migrasi_barang_maria_to_mongo_stream_nocsv.sh
#!/bin/bash
#################################
# MariaDB
#################################
MDB_HOST="10.10.10.90"
MDB_PORT="3306"
MDB_DB="teguhth"
MDB_USER="admin"
MDB_PASS="admin"
#################################
# MongoDB
#################################
MONGO_HOST="10.10.10.9"
MONGO_PORT="27017"
MONGO_DB="mariadbsample"
MONGO_USER="admin"
MONGO_PASS="admin"
MONGO_COLLECTION="barang"
#################################
# Start Migration
#################################
echo "== Streaming MariaDB -> MongoDB =="
mariadb -h${MDB_HOST} -P${MDB_PORT} \
-u${MDB_USER} -p${MDB_PASS} \
${MDB_DB} --batch --raw --silent -e "
SELECT
KODE_BARANG,
NAMA_BARANG,
SATUAN_BARANG,
STOK_BARANG
FROM barang;
" | while IFS=$'\t' read -r KODE NAMA SATUAN STOK
do
echo "Migrating: ${KODE}"
mongosh --host ${MONGO_HOST} --port ${MONGO_PORT} \
-u ${MONGO_USER} -p ${MONGO_PASS} \
--authenticationDatabase admin \
${MONGO_DB} --quiet --eval "
db.${MONGO_COLLECTION}.updateOne(
{ _id: \"${KODE}\" },
{
\$set: {
KODE_BARANG: \"${KODE}\",
NAMA_BARANG: \"${NAMA}\",
SATUAN_BARANG: \"${SATUAN}\",
STOK_BARANG: Number(\"${STOK}\")
}
},
{ upsert: true }
);
"
done
echo "? Migrasi selesai (tanpa CSV)"
[root@teguhth-all nocsv]#
6. script migrasi suplier
[root@teguhth-all nocsv]# pwd
/data/migrasi/mongo-to-maria-and-reserve/reserve/nocsv
[root@teguhth-all nocsv]#
[root@teguhth-all nocsv]# cat migrasi_suplier_maria_to_mongo_stream_nocsv.sh
#!/bin/bash
#################################
# MariaDB
#################################
MDB_HOST="10.10.10.90"
MDB_PORT="3306"
MDB_DB="teguhth"
MDB_USER="admin"
MDB_PASS="admin"
MARIA_TABLE="suplier"
#################################
# MongoDB
#################################
MONGO_HOST="10.10.10.9"
MONGO_PORT="27017"
MONGO_DB="mariadbsample"
MONGO_USER="admin"
MONGO_PASS="admin"
MONGO_COLLECTION="suplier"
#################################
# Start Migration
#################################
echo "== Streaming MariaDB -> MongoDB (Suplier) =="
mariadb -h${MDB_HOST} -P${MDB_PORT} \
-u${MDB_USER} -p${MDB_PASS} \
${MDB_DB} --batch --raw --silent -e "
SELECT
KODE_SUPLIER,
NAMA_SUPLIER,
ALAMAT_SUPLIER,
KOTA_SUPLIER,
TELEPON_SUPLIER
FROM ${MARIA_TABLE};
" | while IFS=$'\t' read -r KODE NAMA ALAMAT KOTA TELP
do
echo "Migrating suplier: ${KODE}"
mongosh --host ${MONGO_HOST} --port ${MONGO_PORT} \
-u ${MONGO_USER} -p ${MONGO_PASS} \
--authenticationDatabase admin \
${MONGO_DB} --quiet --eval "
db.${MONGO_COLLECTION}.updateOne(
{ _id: \"${KODE}\" },
{
\$set: {
KODE_SUPLIER: \"${KODE}\",
NAMA_SUPLIER: \"${NAMA}\",
ALAMAT_SUPLIER: \"${ALAMAT}\",
KOTA_SUPLIER: \"${KOTA}\",
TELEPON_SUPLIER: \"${TELP}\"
}
},
{ upsert: true }
);
"
done
echo "? Migrasi suplier selesai (tanpa CSV)"
[root@teguhth-all nocsv]#
7. script migrasi customer
[root@teguhth-all nocsv]# pwd
/data/migrasi/mongo-to-maria-and-reserve/reserve/nocsv
[root@teguhth-all nocsv]#
[root@teguhth-all nocsv]# cat migrasi_customer_maria_to_mongo_stream_nocsv.sh
#!/bin/bash
#################################
# MariaDB
#################################
MDB_HOST="10.10.10.90"
MDB_PORT="3306"
MDB_DB="teguhth"
MDB_USER="admin"
MDB_PASS="admin"
#################################
# MongoDB
#################################
MONGO_HOST="10.10.10.9"
MONGO_PORT="27017"
MONGO_DB="mariadbsample"
MONGO_USER="admin"
MONGO_PASS="admin"
MONGO_COLLECTION="customer"
#################################
# Start Migration
#################################
echo "== Streaming Customer MariaDB -> MongoDB =="
mariadb -h${MDB_HOST} -P${MDB_PORT} \
-u${MDB_USER} -p${MDB_PASS} \
${MDB_DB} --batch --raw --silent -e "
SELECT
KODE_CUSTOMER,
NAMA_CUSTOMER,
ALAMAT_CUSTOMER,
KOTA_CUSTOMER,
TELEPON_CUSTOMER
FROM customer;
" | while IFS=$'\t' read -r KODE NAMA ALAMAT KOTA TELP
do
echo "Migrating customer: ${KODE}"
mongosh --host ${MONGO_HOST} --port ${MONGO_PORT} \
-u ${MONGO_USER} -p ${MONGO_PASS} \
--authenticationDatabase admin \
${MONGO_DB} --quiet --eval "
db.${MONGO_COLLECTION}.updateOne(
{ _id: \"${KODE}\" },
{
\$set: {
KODE_CUSTOMER: \"${KODE}\",
NAMA_CUSTOMER: \"${NAMA}\",
ALAMAT_CUSTOMER: \"${ALAMAT}\",
KOTA_CUSTOMER: \"${KOTA}\",
TELEPON_CUSTOMER: \"${TELP}\"
}
},
{ upsert: true }
);
"
done
echo "? Migrasi customer selesai (tanpa CSV)"
[root@teguhth-all nocsv]#
8. script migrasi pasok
[root@teguhth-all nocsv]# pwd
/data/migrasi/mongo-to-maria-and-reserve/reserve/nocsv
[root@teguhth-all nocsv]#
[root@teguhth-all nocsv]# cat migrasi_pasok_maria_to_mongo_stream_nocsv.sh
#!/bin/bash
#################################
# MariaDB
#################################
MDB_HOST="10.10.10.90"
MDB_PORT="3306"
MDB_DB="teguhth"
MDB_USER="admin"
MDB_PASS="admin"
MARIA_TABLE="pasok"
#################################
# MongoDB
#################################
MONGO_HOST="10.10.10.9"
MONGO_PORT="27017"
MONGO_DB="mariadbsample"
MONGO_USER="admin"
MONGO_PASS="admin"
MONGO_COLLECTION="pasok"
#################################
# Start Migration
#################################
echo "== Streaming Pasok MariaDB -> MongoDB =="
mariadb -h${MDB_HOST} -P${MDB_PORT} \
-u${MDB_USER} -p${MDB_PASS} \
${MDB_DB} --batch --raw --silent -e "
SELECT
KODE_PASOK,
KODE_BARANG,
KODE_SUPLIER,
DATE(TANGGAL_PASOK),
JUMLAH_PASOK
FROM ${MARIA_TABLE};
" | while IFS=$'\t' read -r KP KB KS TGL JML
do
echo "Migrating pasok: ${KP}-${KB}-${KS}"
mongosh --host ${MONGO_HOST} --port ${MONGO_PORT} \
-u ${MONGO_USER} -p ${MONGO_PASS} \
--authenticationDatabase admin \
${MONGO_DB} --quiet --eval "
db.${MONGO_COLLECTION}.updateOne(
{ _id: \"${KP}|${KB}|${KS}\" },
{
\$set: {
KODE_PASOK: \"${KP}\",
KODE_BARANG: \"${KB}\",
KODE_SUPLIER: \"${KS}\",
TANGGAL_PASOK: ISODate(\"${TGL}T00:00:00Z\"),
JUMLAH_PASOK: Number(\"${JML}\")
}
},
{ upsert: true }
);
"
done
echo "? Migrasi pasok selesai (tanpa CSV)"
[root@teguhth-all nocsv]#
9. script migrasi pembelian
[root@teguhth-all nocsv]# pwd
/data/migrasi/mongo-to-maria-and-reserve/reserve/nocsv
[root@teguhth-all nocsv]#
[root@teguhth-all nocsv]# cat migrasi_pembelian_maria_to_mongo_stream_nocsv.sh
#!/bin/bash
#################################
# MariaDB
#################################
MDB_HOST="10.10.10.90"
MDB_PORT="3306"
MDB_DB="teguhth"
MDB_USER="admin"
MDB_PASS="admin"
MARIA_TABLE="pembelian"
#################################
# MongoDB
#################################
MONGO_HOST="10.10.10.9"
MONGO_PORT="27017"
MONGO_DB="mariadbsample"
MONGO_USER="admin"
MONGO_PASS="admin"
MONGO_COLLECTION="pembelian"
#################################
# Start Migration
#################################
echo "== Streaming Pembelian MariaDB -> MongoDB =="
mariadb -h${MDB_HOST} -P${MDB_PORT} \
-u${MDB_USER} -p${MDB_PASS} \
${MDB_DB} --batch --raw --silent -e "
SELECT
KODE_PEMBELIAN,
KODE_BARANG,
KODE_CUSTOMER,
DATE(TANGGAL_PEMBELIAN),
JUMLAH_PEMBELIAN
FROM ${MARIA_TABLE};
" | while IFS=$'\t' read -r KP KB KC TGL JML
do
echo "Migrating pembelian: ${KP}-${KB}-${KC}"
mongosh --host ${MONGO_HOST} --port ${MONGO_PORT} \
-u ${MONGO_USER} -p ${MONGO_PASS} \
--authenticationDatabase admin \
${MONGO_DB} --quiet --eval "
db.${MONGO_COLLECTION}.updateOne(
{ _id: \"${KP}|${KB}|${KC}\" },
{
\$set: {
KODE_PEMBELIAN: \"${KP}\",
KODE_BARANG: \"${KB}\",
KODE_CUSTOMER: \"${KC}\",
TANGGAL_PEMBELIAN: ISODate(\"${TGL}T00:00:00Z\"),
JUMLAH_PEMBELIAN: Number(\"${JML}\")
}
},
{ upsert: true }
);
"
done
echo "? Migrasi pembelian selesai (tanpa CSV)"
[root@teguhth-all nocsv]#







No comments:
Post a Comment