Disable the ChangeLog table binlog
- Dominant language
- Go
- Stars
- 13.6k
- Forks
- 1.4k
- Avg merge
- 2h 31m
- Merged PRs (30d)
- 4
Description
I have tested this on my staging server. Some background about the setup:
1. Total MySQL Data Disk size = `1000GB`
2. Space consumed = `700+ GB`
3. Large file = `table_x.idb` file
4. Binlog files are stored in the same Location where my data files are there.
5. GTID enabled
6. row based replication.
Then I started migrating using the below command.
```
gh-ost \
--max-load=Threads_running=25 \
--critical-load=Threads_running=1000 \
--chunk-size=10000 \
--throttle-control-replicas="replica-ip-address" \
--max-lag-millis=50000 \
--user="bhuvi" \
--password="bhuvi@123" \
--host=replica-ip-address \
--database="mydatabase" \
--table="huge_table_nmae" \
--verbose \
--alter="engine=innodb" \
--switch-to-rbr \
--cut-over=default \
--exact-rowcount \
--concurrent-rowcount \
--default-retries=120 \
--panic-flag-file=/tmp/ghost.panic.flag \
--skip-foreign-key-checks \
--execute
```
within 3 hrs, the binlog files generated around 350+ files and the total size of all the binlog files is 150+ GB.
Now my data disk reached 100%.
Im just thinking in some rare cases, people don't have enough disk and no way to increase, it'll not suit. So is there any way that we can ignore the change log table or reduce the log (every X seconds log will go to this table).
Contributor guide
Assessment
This issue has not been assessed yet.