Jika database sumber untuk tugas DTS Anda adalah database MySQL yang dikelola sendiri, Anda harus membuat akun database dan mengonfigurasi binary logging sebelum menyiapkan tugas tersebut. Langkah ini diperlukan agar lulus Pemeriksaan Awal dan memastikan tugas berjalan sesuai harapan.
Skenario dan izin
Skenario | Izin yang diperlukan |
Database sumber adalah database MySQL yang dikelola sendiri, dan Anda ingin melakukan migrasi data inkremental. |
|
Database sumber untuk tugas sinkronisasi data adalah database MySQL yang dikelola sendiri. |
|
Database sumber untuk tugas pelacakan perubahan adalah database MySQL yang dikelola sendiri. |
|
Dampak
Operasi ini mengharuskan Anda me-restart layanan MySQL. Untuk menghindari gangguan pada layanan Anda, lakukan operasi ini di luar jam sibuk.
Prosedur
Masuk ke database MySQL yang dikelola sendiri.
Buat akun untuk migrasi atau sinkronisasi data di database MySQL yang dikelola sendiri.
CREATE USER 'username'@'host' IDENTIFIED BY 'password';Catatanusername: Akun yang akan dibuat.
host: Host dari mana akun dapat mengakses database. Untuk mengizinkan akses dari host mana pun, gunakan tanda persen (%).
password: Kata sandi untuk akun tersebut.
Sebagai contoh, untuk membuat akun bernama dtsmigration dengan kata sandi Dts123456 yang dapat mengakses dari host mana pun, jalankan perintah berikut:
CREATE USER 'dtsmigration'@'%' IDENTIFIED BY 'Dts123456';Berikan izin yang diperlukan kepada akun tersebut. Untuk informasi selengkapnya, lihat Skenario dan izin.
Berikan izin akun pada database dan tabel tertentu.
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;Berikan izin akun untuk membuat database dan tabel.
GRANT CREATE ON *.* TO 'username'@'host' WITH GRANT OPTION;
Catatanprivileges: Izin operasi yang diberikan kepada akun, seperti SELECT, INSERT, dan UPDATE. Untuk memberikan semua izin, gunakan ALL.
databasename: Nama database. Untuk memberikan izin pada semua database, gunakan tanda bintang (*).
tablename: Nama tabel. Untuk memberikan izin pada semua tabel, gunakan tanda bintang (*).
username: Akun yang akan diberikan izin.
host: Host dari mana akun dapat mengakses. Untuk mengizinkan akses dari host mana pun, gunakan tanda persen (%).
WITH GRANT OPTION: Memberikan izin kepada akun untuk menjalankan perintah GRANT. Parameter ini bersifat opsional.
Sebagai contoh, jalankan perintah berikut untuk memberikan akun dtsmigration semua izin pada semua database dan tabel serta mengizinkan akses dari host mana pun:
GRANT ALL ON *.* TO 'dtsmigration'@'%';Aktifkan dan konfigurasikan binary logging untuk database MySQL yang dikelola sendiri.
Perintah Linux
Gunakan perintah
vimuntuk mengubah parameter berikut dalam file konfigurasi my.cnf:log_bin=mysql_bin binlog_format=row # Untuk versi MySQL sebelum 8.0, gunakan expire_logs_days untuk mengatur periode retensi log biner. Nilai default-nya adalah 0, yang berarti log biner tidak pernah kedaluwarsa. # Untuk MySQL 8.0 dan versi setelahnya, gunakan binlog_expire_logs_seconds untuk mengatur periode retensi log biner. Nilai default-nya adalah 2592000 detik (30 hari). # Jika Anda mengatur periode retensi log biner kurang dari 7 hari, Anda dapat menggunakan parameter berikut untuk mengatur periode retensi menjadi 7 hari atau lebih. # expire_logs_days=7 # binlog_expire_logs_seconds=604800 # Atur parameter ini ke bilangan bulat lebih besar dari 1. server_id=2 # Jika versi database MySQL yang dikelola sendiri lebih baru dari 5.6, Anda harus mengatur parameter ini. binlog_row_image=full # Jika database yang dikelola sendiri diterapkan dalam kluster dual-primary, aktifkan parameter ini. # log_slave_updates=ONSetelah mengubah file tersebut, restart proses MySQL:
/etc/init.d/mysqld restart
Perintah Windows
Ubah parameter berikut dalam file konfigurasi my.ini:
log_bin=mysql_bin binlog_format=row # Untuk versi MySQL sebelum 8.0, gunakan expire_logs_days untuk mengatur periode retensi log biner. Nilai default-nya adalah 0, yang berarti log biner tidak pernah kedaluwarsa. # Untuk MySQL 8.0 dan versi setelahnya, gunakan binlog_expire_logs_seconds untuk mengatur periode retensi log biner. Nilai default-nya adalah 2592000 detik (30 hari). # Jika Anda mengatur periode retensi log biner kurang dari 7 hari, Anda dapat menggunakan parameter berikut untuk mengatur periode retensi menjadi 7 hari atau lebih. # expire_logs_days=7 # binlog_expire_logs_seconds=604800 # Atur parameter ini ke bilangan bulat lebih besar dari 1. server_id=2 # Jika versi database MySQL yang dikelola sendiri lebih baru dari 5.6, Anda harus mengatur parameter ini. binlog_row_image=full # Jika database yang dikelola sendiri diterapkan dalam kluster dual-primary, aktifkan parameter ini. # log_slave_updates=ONSetelah mengubah file tersebut, restart layanan MySQL. Anda dapat me-restart layanan tersebut melalui Windows Services Manager atau dengan menjalankan perintah berikut:
net stop mysql net start mysql