mysqldump \
-u$MY_USER \
-p$MY_PASSWORD \
--single-transaction \
--skip-lock-tables \
--skip-add-locks \
--quick \
--default-character-set=ascii \
--set-gtid-purged=OFF \
--routines \
--no-data \
mbs-online \
> /var/backups/mbs/innodb/$MY_FILE1.dump
mysqldump \
-u$MY_USER \
-p$MY_PASSWORD \
--single-transaction \
--skip-lock-tables \
--skip-add-locks \
--quick \
--default-character-set=ascii \
--set-gtid-purged=OFF \
--skip-triggers \
--no-data \
mbs-online \
> /var/backups/mbs/data/table/$MY_FILE1.dump
mysqldump \
-u$MY_USER \
-p$MY_PASSWORD \
--single-transaction \
--skip-lock-tables \
--skip-add-locks \
--quick \
--default-character-set=ascii \
--set-gtid-purged=OFF \
--no-create-info \
--skip-triggers \
--no-create-db \
mbs-online \
> /var/backups/mbs/data/data/$MY_FILE1.dump
Senin, 20 Juli 2026
Backup database MySQL no locking table
Cara mengetahui ukuran data InnoDB,MyISAM dan Jml table di MySQL
Jalankan query berikut:
SELECT
ROUND(SUM(data_length + index_length)/1024/1024/1024,2) AS innodb_size_gb
FROM information_schema.tables
WHERE engine='InnoDB';
Cara mengecek apakah buffer pool sudah cukup
Lihat rasio pembacaan dari disk:
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read%';
Kalau untuk MyISAM, query-nya sama, hanya engine-nya diganti menjadi MyISAM.
SELECT
ROUND(SUM(data_length + index_length)/1024/1024/1024,2) AS myisam_size_gb
FROM information_schema.tables
WHERE engine='MyISAM';
Jika diketahui ukuran index MyISAM
SELECT
ROUND(SUM(data_length)/1024/1024/1024,2) AS data_gb,
ROUND(SUM(index_length)/1024/1024/1024,2) AS index_gb
FROM information_schema.tables
WHERE engine='MyISAM';
Menghitung jumlah table dalam 1 database
SELECT COUNT(*) AS jumlah_table
FROM information_schema.tables
WHERE table_schema = 'mbs-online'
AND table_type = 'BASE TABLE';
Kalau ingin melihat jumlah berdasarkan engine
Untuk kasus server Anda yang memiliki banyak InnoDB + MyISAM, jalankan:
SELECT
ENGINE,
COUNT(*) AS jumlah_table
FROM information_schema.tables
WHERE table_schema = 'mbs-online'
AND table_type = 'BASE TABLE'
GROUP BY ENGINE
ORDER BY jumlah_table DESC;
Kalau ingin menghitung semua database sekaligus
SELECT
table_schema AS database_name,
COUNT(*) AS jumlah_table
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
AND table_schema NOT IN (
'information_schema',
'mysql',
'performance_schema',
'sys'
)
GROUP BY table_schema
ORDER BY jumlah_table DESC;
Selasa, 14 Juli 2026
Backup ignore table di MySQL
mysqldump -uroot -p --routines --events --ignore-table={mbsbck2015.setup_adjust_jamin,mbsbck2015.setup_proses,mbsbck2015.setup_adjust_ppap1} mbsbck2015 > mbsbck2015.dump
mysqldump -uroot -p --routines --events --ignore-table={mbsbck2016.setup_adjust_jamin,mbsbck2016.setup_proses,mbsbck2016.setup_adjust_ppap1} mbsbck2016 > mbsbck2016.dump
Skip error replica Master to Master
STOP REPLICA;
STOP REPLICA SQL_THREAD;
SET @@SESSION.sql_log_bin = 0;
SET GLOBAL sql_replica_skip_counter = 1;
START REPLICA;
SHOW REPLICA STATUS\G
SELECT * FROM performance_schema.replication_applier_status_by_worker;
STOP SLAVE;
RESET SLAVE ALL;
CHANGE MASTER TO
MASTER_HOST='10.207.7.1',
MASTER_USER='mirror',
MASTER_PASSWORD='J1d8$9Ym8tSkOQPE2',
MASTER_AUTO_POSITION=1;
START SLAVE;
SHOW REPLICA STATUS\G
STOP SLAVE;
CHANGE MASTER TO
MASTER_HOST='10.211.1.1',
MASTER_USER='mirror',
MASTER_PASSWORD='J1d8$9Ym8tSkOQPE2',
MASTER_LOG_FILE='mysql-bin.000236',
MASTER_LOG_POS=15192461;
START SLAVE;
RESET MASTER; //untuk membuat mysql-bin.xx mulai dari 1 (mysql-bin.000001)
##
STOP REPLICA;
RESET SLAVE ALL;
CHANGE MASTER TO
MASTER_HOST='10.211.11.1',
MASTER_USER='mirror',
MASTER_PASSWORD='J1d8$9Ym8tSkOQPE2',
MASTER_AUTO_POSITION=1;
START REPLICA;
SHOW REPLICA STATUS\G
STOP REPLICA;
RESET SLAVE ALL;
CHANGE MASTER TO
MASTER_HOST='10.207.7.1',
MASTER_USER='mirror',
MASTER_PASSWORD='J1d8$9Ym8tSkOQPE2',
MASTER_AUTO_POSITION=1;
START REPLICA;
SHOW REPLICA STATUS\G
##
STOP REPLICA SQL_THREAD;
SET @@SESSION.sql_log_bin = 0;
SET gtid_next = 'bcdceaeb-cd5e-11ee-a729-1402ec32de48:1318256';
START TRANSACTION;
COMMIT;
SET gtid_next = 'AUTOMATIC';
START REPLICA;
SHOW REPLICA STATUS\G
STOP REPLICA;
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='17.5.16.100',
SOURCE_USER='mirror',
SOURCE_PASSWORD='J1d8$9Ym8tSkOQPE95',
START SLAVE;
###
STOP REPLICA FOR CHANNEL 'master1';
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='17.5.16.100',
SOURCE_USER='mirror',
SOURCE_PASSWORD='J1d8$9Ym8tSkOQPE95',
SOURCE_LOG_FILE='mysql-bin.000001',
SOURCE_LOG_POS=485
FOR CHANNEL 'master1';
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='17.5.16.100',
SOURCE_USER='mirror',
SOURCE_PASSWORD='J1d8$9Ym8tSkOQPE95',
SOURCE_AUTO_POSITION=1
FOR CHANNEL 'master1';
CHANGE REPLICATION FILTER
REPLICATE_REWRITE_DB = ((coba, coba1))
FOR CHANNEL 'master1';
START REPLICA FOR CHANNEL 'master1';
SHOW REPLICA STATUS FOR CHANNEL 'master1'\G
STOP REPLICA FOR CHANNEL 'master2';
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='17.5.16.102',
SOURCE_USER='mirror',
SOURCE_PASSWORD='J1d8$9Ym8tSkOQPE95',
SOURCE_LOG_FILE='mysql-bin.000001',
SOURCE_LOG_POS=157
FOR CHANNEL 'master2';
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='17.5.16.102',
SOURCE_USER='mirror',
SOURCE_PASSWORD='J1d8$9Ym8tSkOQPE95',
SOURCE_AUTO_POSITION=1
FOR CHANNEL 'master2';
CHANGE REPLICATION FILTER
REPLICATE_REWRITE_DB = ((coba, coba2))
FOR CHANNEL 'master2';
START REPLICA FOR CHANNEL 'master2';
SHOW REPLICA STATUS FOR CHANNEL 'master2'\G