Thursday, February 5, 2026

.::: create Tools Migration from MariaDB to MongoDB using bash shell script using insert & no csv :::.

   

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

Popular Posts