Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola replikasi multi-sumber
Prosedur tersimpan berikut mengatur dan mengelola saluran replikasi pada RDS untuk replika Aurora MySQL. Untuk informasi selengkapnya, lihat Mengkonfigurasi replikasi multi-sumber untuk Amazon RDS for MySQL.
Prosedur tersimpan ini hanya tersedia dengan RDS untuk instans DB MySQL yang menjalankan versi mesin berikut:
-
Semua versi 8.4
8.0.35 dan versi minor yang lebih tinggi
5.7.44 dan versi minor yang lebih tinggi
Saat menggunakan prosedur tersimpan untuk mengelola replikasi dengan replikasi yang dikonfigurasi penggunacaching_sha2_password, Anda harus mengonfigurasi TLS dengan menentukanssl_encryption=1. caching_sha2_passwordadalah plugin otentikasi default untuk RDS untuk MySQL 8.4 My .
catatan
Meskipun dokumentasi ini mengacu pada instance DB sumber sebagai RDS untuk instans DB MySQL, prosedur ini juga berfungsi untuk instans MySQL yang berjalan di luar Amazon RDS.
mysql.rds_next_source_log_untuk_channel
Mengubah posisi log instance DB sumber ke awal log biner berikutnya pada instance DB sumber untuk saluran. Gunakan prosedur ini hanya jika Anda menerima I/O kesalahan replikasi 1236 pada replika multi-sumber.
Sintaks
CALL mysql.rds_next_source_log_for_channel(curr_master_log,channel_name);
Parameter
-
curr_master_log -
Indeks file log sumber saat ini. Misalnya, jika file saat ini bernama
mysql-bin-changelog.012345, maka indeksnya adalah 12345. Untuk menentukan nama file log sumber saat ini, jalankan perintahSHOW REPLICA STATUS FOR CHANNEL 'dan lihat kolomchannel_name'Source_Log_File. -
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_next_source_log_for_channel. Jika ada kesalahan IO_thread, misalnya, Anda dapat menggunakan prosedur ini untuk melewati semua peristiwa dalam file log biner saat ini dan melanjutkan replikasi dari file log biner berikutnya untuk saluran yang ditentukan di. channel_name
Contoh
Asumsikan replikasi gagal pada saluran pada replika multi-sumber. Menjalankan SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G pada replika multi-sumber mengembalikan hasil berikut:
mysql> SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G *************************** 1. row *************************** Replica_IO_State: Waiting for source to send event Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: ReplicationUser Source_Port: 3306 Connect_Retry: 60 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: replica-relay-bin.000003 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB:. . . Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: . . Channel_name: channel_1 . . -- Some fields are omitted in this example output
Bid Last_IO_Errno ang menunjukkan bahwa instance menerima I/O kesalahan 1236. Kolom Source_Log_File menunjukkan bahwa nama file adalah mysql-bin-changelog.012345, yang berarti indeks file log adalah 12345. Untuk mengatasi kesalahan, Anda dapat memang mysql.rds_next_source_log_for_channel gil dengan parameter berikut:
CALL mysql.rds_next_source_log_for_channel(12345,'channel_1');
mysql.rds_reset_external_source_untuk_channel
Menghentikan proses replikasi pada saluran yang ditentukan, dan menghapus saluran dan konfigurasi terkait dari replika multi-sumber.
penting
Untuk menjalankan prosedur ini, autocommit harus diaktifkan. Untuk mengaktifkannya, atur parameter autocommit ke 1. Lihat informasi tentang cara mengubah parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS.
Sintaksis
CALL mysql.rds_reset_external_source_for_channel (channel_name);
Parameter
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_reset_external_source_for_channel. Prosedur ini menghapus semua log relai milik saluran yang dihapus.
mysql.rds_set_eksternal_source_untuk_channel
Mengkonfigurasi saluran replikasi pada instance RDS untuk MySQL DB untuk mereplikasi data dari RDS lain untuk instance DB MySQL.
penting
Untuk menjalankan prosedur ini, autocommit harus diaktifkan. Untuk mengaktifkannya, atur parameter autocommit ke 1. Lihat informasi tentang cara mengubah parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS.
catatan
Anda dapat menggunakan prosedur tersimpan mysql.rds_set_eksternal_source_dengan_delay_untuk_channel sebagai gantinya untuk mengonfigurasi saluran ini dengan replikasi tertunda.
Sintaksis
CALL mysql.rds_set_external_source_for_channel (host_name,host_port,replication_user_name,replication_user_password,mysql_binary_log_file_name,mysql_binary_log_file_location,ssl_encryption,channel_name);
Parameter
-
host_name -
Nama host atau alamat IP dari RDS untuk instance DB sumber MySQL.
-
host_port -
Port yang digunakan oleh RDS untuk instance DB sumber MySQL. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.
-
replication_user_name -
ID pengguna dengan
REPLICATION CLIENTdanREPLICATION SLAVEizin pada instance DB sumber RDS untuk MySQL. Sebaiknya berikan akun yang digunakan semata-mata untuk replikasi dengan instance DB sumber. -
replication_user_password -
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name. -
mysql_binary_log_file_name -
Nama log biner pada instance DB sumber yang berisi informasi replikasi.
-
mysql_binary_log_file_location -
Lokasi di log biner
mysql_binary_log_file_nametempat replikasi mulai membaca informasi replikasi.Anda dapat menentukan nama file binlog dan lokasi dengan menjalankan
SHOW BINARY LOG STATUSpada instance DB sumber.catatan
Versi MySQL sebelumnya menggunakan
SHOW MASTER STATUS, bukanSHOW BINARY LOG STATUS. Jika Anda menggunakan versi MySQL sebelum 8.4, maka gunakanSHOW MASTER STATUS. -
ssl_encryption -
Nilai yang menentukan apakah enkripsi Lapisan Soket Aman (SSL) digunakan pada sambungan replikasi. 1 menentukan untuk menggunakan enkripsi SSL, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.
catatan
Opsi
SOURCE_SSL_VERIFY_SERVER_CERTtidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi. -
channel_name -
Nama saluran replikasi. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_external_source_for_channel. Prosedur ini harus dijalankan pada RDS target untuk instance MySQL DB tempat Anda membuat saluran replikasi.
Sebelum Anda menjalankanmysql.rds_set_external_source_for_channel, konfigurasikan pengguna replikasi pada instance DB sumber dengan hak istimewa yang diperlukan untuk replika multi-sumber. Untuk menghubungkan replika multi-sumber ke instance DB sumber, Anda harus menentukan replication_user_name dan replication_user_password nilai pengguna replikasi yang memiliki REPLICATION CLIENT dan REPLICATION SLAVE izin pada instance DB sumber.
Untuk mengonfigurasi pengguna replikasi pada instance DB sumber
Menggunakan klien MySQL pilihan Anda, sambungkan ke instance DB sumber dan buat akun pengguna untuk digunakan untuk replikasi. Berikut adalah contohnya.
penting
Sebagai praktik terbaik keamanan, tentukan kata sandi selain nilai placeholder yang ditunjukkan dalam contoh berikut.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';Pada instance DB sumber, berikan
REPLICATION CLIENTdanREPLICATION SLAVEhak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENTdanREPLICATION SLAVEpada semua basis data untuk pengguna ‘repl_user’ domain Anda.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
Untuk menggunakan replikasi terenkripsi, konfigurasikan instance DB sumber untuk menggunakan koneksi SSL.
Setelah memanggil mysql.rds_set_external_source_for_channel untuk mengonfigurasi saluran replikasi ini, Anda dapat memang mysql.rds_start_replikasi_untuk_saluran gil replika untuk memulai proses replikasi pada saluran. Anda dapat memang mysql.rds_reset_external_source_untuk_channel gil untuk menghentikan replikasi pada saluran dan menghapus konfigurasi saluran dari replika.
Saat Anda meneleponmysql.rds_set_external_source_for_channel, Amazon RDS mencatat waktu, pengguna, dan tindakan set channel source dalam mysql.rds_history tabel tanpa detail khusus saluran, dan dalam mysql.rds_replication_status tabel, dengan nama saluran. Informasi ini dicatat hanya untuk penggunaan internal dan tujuan pemantauan. Untuk merekam panggilan prosedur lengkap untuk tujuan audit, pertimbangkan untuk mengaktifkan log audit atau log umum, berdasarkan persyaratan spesifik aplikasi Anda.
Contoh
Ketika dijalankan pada instance RDS untuk MySQL DB, contoh berikut mengonfigurasi saluran replikasi bernama channel_1 pada instance DB ini untuk mereplikasi data dari sumber yang ditentukan oleh host sourcedb.example.com dan port. 3306
call mysql.rds_set_external_source_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.0777', 120, 0, 'channel_1');
mysql.rds_set_source_eksternal_dengan_auto_position_untuk_channel
Mengkonfigurasi saluran replikasi pada instance RDS untuk MySQL DB dengan penundaan replikasi opsional. Replikasi didasarkan pada pengidentifikasi transaksi global (GTID).
penting
Untuk menjalankan prosedur ini, autocommit harus diaktifkan. Untuk mengaktifkannya, atur parameter autocommit ke 1. Lihat informasi tentang cara mengubah parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS.
Sintaksis
CALL mysql.rds_set_external_source_with_auto_position_for_channel (host_name,host_port,replication_user_name,replication_user_password,ssl_encryption,delay,channel_name);
Parameter
-
host_name -
Nama host atau alamat IP dari RDS untuk instance DB sumber MySQL.
-
host_port -
Port yang digunakan oleh RDS untuk instance DB sumber MySQL. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.
-
replication_user_name -
ID pengguna dengan
REPLICATION CLIENTdanREPLICATION SLAVEizin pada instance DB sumber RDS untuk MySQL. Sebaiknya berikan akun yang digunakan semata-mata untuk replikasi dengan instance DB sumber. -
replication_user_password -
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name. -
ssl_encryption -
Nilai yang menentukan apakah enkripsi Lapisan Soket Aman (SSL) digunakan pada sambungan replikasi. 1 menentukan untuk menggunakan enkripsi SSL, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.
catatan
Opsi
SOURCE_SSL_VERIFY_SERVER_CERTtidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi. -
delay -
Jumlah detik minimum untuk menunda replikasi dari instance DB sumber.
Batas untuk parameter ini adalah satu hari (86.400 detik).
-
channel_name -
Nama saluran replikasi. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_external_source_with_auto_position_for_channel. Prosedur ini harus dijalankan pada RDS target untuk instance MySQL DB tempat Anda membuat saluran replikasi.
Sebelum Anda menjalankanrds_set_external_source_with_auto_position_for_channel, konfigurasikan pengguna replikasi pada instance DB sumber dengan hak istimewa yang diperlukan untuk replika multi-sumber. Untuk menghubungkan replika multi-sumber ke instance DB sumber, Anda harus menentukan replication_user_name dan replication_user_password nilai pengguna replikasi yang memiliki REPLICATION CLIENT dan REPLICATION SLAVE izin pada instance DB sumber.
Untuk mengonfigurasi pengguna replikasi pada instance DB sumber
Menggunakan klien MySQL pilihan Anda, sambungkan ke instance DB sumber dan buat akun pengguna untuk digunakan untuk replikasi. Berikut adalah contohnya.
penting
Sebagai praktik terbaik keamanan, tentukan kata sandi selain nilai placeholder yang ditunjukkan dalam contoh berikut.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';Pada instance DB sumber, berikan
REPLICATION CLIENTdanREPLICATION SLAVEhak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENTdanREPLICATION SLAVEpada semua basis data untuk pengguna ‘repl_user’ domain Anda.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
Untuk menggunakan replikasi terenkripsi, konfigurasikan instance DB sumber untuk menggunakan koneksi SSL.
Sebelum Anda memang mysql.rds_set_external_source_with_auto_position_for_channel gil, pastikan untuk memang mysql.rds_set_eksternal_source_gtid_dibersihkan gil untuk mengatur variabel gtid_purged sistem dengan rentang GTID tertentu dari sumber eksternal.
Setelah memanggil mysql.rds_set_external_source_with_auto_position_for_channel untuk mengonfigurasi instance Amazon RDS DB sebagai replika baca pada saluran tertentu, Anda dapat memang mysql.rds_start_replikasi_untuk_saluran gil replika baca untuk memulai proses replikasi pada saluran tersebut.
Setelah memanggil mysql.rds_set_external_source_with_auto_position_for_channel untuk mengonfigurasi saluran replikasi ini, Anda dapat memang mysql.rds_start_replikasi_untuk_saluran gil replika untuk memulai proses replikasi pada saluran. Anda dapat memang mysql.rds_reset_external_source_untuk_channel gil untuk menghentikan replikasi pada saluran dan menghapus konfigurasi saluran dari replika.
Contoh
Ketika dijalankan pada instance RDS untuk MySQL DB, contoh berikut mengonfigurasi saluran replikasi yang dinamai channel_1 pada instance DB ini untuk mereplikasi data dari sumber yang ditentukan oleh host sourcedb.example.com dan port 3306 Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik). Ini berarti bahwa perubahan dari sumber RDS untuk instance MySQL DB tidak diterapkan pada replika multi-sumber setidaknya selama satu jam.
call mysql.rds_set_external_source_with_auto_position_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 1, 3600, 'channel_1');
mysql.rds_set_eksternal_source_dengan_delay_untuk_channel
Mengkonfigurasi saluran replikasi pada instance RDS untuk MySQL DB dengan penundaan replikasi yang ditentukan.
penting
Untuk menjalankan prosedur ini, autocommit harus diaktifkan. Untuk mengaktifkannya, atur parameter autocommit ke 1. Lihat informasi tentang cara mengubah parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS.
Sintaksis
CALL mysql.rds_set_external_source_with_delay_for_channel (host_name,host_port,replication_user_name,replication_user_password,mysql_binary_log_file_name,mysql_binary_log_file_location,ssl_encryption,delay,channel_name);
Parameter
-
host_name -
Nama host atau alamat IP dari RDS untuk instance DB sumber MySQL.
-
host_port -
Port yang digunakan oleh RDS untuk instance DB sumber MySQL. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.
-
replication_user_name -
ID pengguna dengan
REPLICATION CLIENTdanREPLICATION SLAVEizin pada instance DB sumber RDS untuk MySQL. Sebaiknya berikan akun yang digunakan semata-mata untuk replikasi dengan instance DB sumber. -
replication_user_password -
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name. -
mysql_binary_log_file_name -
Nama log biner pada instance DB sumber berisi informasi replikasi.
-
mysql_binary_log_file_location -
Lokasi di log biner
mysql_binary_log_file_nametempat replikasi akan mulai membaca informasi replikasi.Anda dapat menentukan nama dan lokasi file binlog dengan menjalankan
SHOW BINARY LOG STATUSpada instans basis data sumber.catatan
Versi MySQL sebelumnya menggunakan
SHOW MASTER STATUS, bukanSHOW BINARY LOG STATUS. Jika Anda menggunakan versi MySQL sebelum 8.4, maka gunakanSHOW MASTER STATUS. -
ssl_encryption -
Nilai yang menentukan apakah enkripsi Lapisan Soket Aman (SSL) digunakan pada sambungan replikasi. 1 menentukan untuk menggunakan enkripsi SSL, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.
catatan
Opsi
SOURCE_SSL_VERIFY_SERVER_CERTtidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi. -
delay -
Jumlah detik minimum untuk menunda replikasi dari instance DB sumber.
Batas untuk parameter ini adalah satu hari (86.400 detik).
-
channel_name -
Nama saluran replikasi. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_external_source_with_delay_for_channel. Prosedur ini harus dijalankan pada RDS target untuk instance MySQL DB tempat Anda membuat saluran replikasi.
Sebelum Anda menjalankanmysql.rds_set_external_source_with_delay_for_channel, konfigurasikan pengguna replikasi pada instance DB sumber dengan hak istimewa yang diperlukan untuk replika multi-sumber. Untuk menghubungkan replika multi-sumber ke instance DB sumber, Anda harus menentukan replication_user_name dan replication_user_password nilai pengguna replikasi yang memiliki REPLICATION CLIENT dan REPLICATION SLAVE izin pada instance DB sumber.
Untuk mengonfigurasi pengguna replikasi pada instance DB sumber
Menggunakan klien MySQL pilihan Anda, sambungkan ke instance DB sumber dan buat akun pengguna untuk digunakan untuk replikasi. Berikut adalah contohnya.
penting
Sebagai praktik terbaik keamanan, tentukan kata sandi selain nilai placeholder yang ditunjukkan dalam contoh berikut.
CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';Pada instance DB sumber, berikan
REPLICATION CLIENTdanREPLICATION SLAVEhak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENTdanREPLICATION SLAVEpada semua basis data untuk pengguna ‘repl_user’ domain Anda.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
Untuk menggunakan replikasi terenkripsi, konfigurasikan instance DB sumber untuk menggunakan koneksi SSL.
Setelah memanggil mysql.rds_set_external_source_with_delay_for_channel untuk mengonfigurasi saluran replikasi ini, Anda dapat memang mysql.rds_start_replikasi_untuk_saluran gil replika untuk memulai proses replikasi pada saluran. Anda dapat memang mysql.rds_reset_external_source_untuk_channel gil untuk menghentikan replikasi pada saluran dan menghapus konfigurasi saluran dari replika.
Saat Anda meneleponmysql.rds_set_external_source_with_delay_for_channel, Amazon RDS mencatat waktu, pengguna, dan tindakan set channel source dalam mysql.rds_history tabel tanpa detail khusus saluran, dan dalam mysql.rds_replication_status tabel, dengan nama saluran. Informasi ini dicatat hanya untuk penggunaan internal dan tujuan pemantauan. Untuk merekam panggilan prosedur lengkap untuk tujuan audit, pertimbangkan untuk mengaktifkan log audit atau log umum, berdasarkan persyaratan spesifik aplikasi Anda.
Contoh
Ketika dijalankan pada instance RDS untuk MySQL DB, contoh berikut mengonfigurasi saluran replikasi yang dinamai channel_1 pada instance DB ini untuk mereplikasi data dari sumber yang ditentukan oleh host sourcedb.example.com dan port 3306 Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik). Ini berarti bahwa perubahan dari sumber RDS untuk instance MySQL DB tidak diterapkan pada replika multi-sumber setidaknya selama satu jam.
call mysql.rds_set_external_source_with_delay_for_channel( 'sourcedb.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000777', 120, 1, 3600, 'channel_1');
mysql.rds_set_source_auto_position_untuk_channel
Menetapkan mode replikasi untuk saluran yang ditentukan berdasarkan posisi file log biner atau pengidentifikasi transaksi global (GTID).
Sintaksis
CALL mysql.rds_set_source_auto_position_for_channel (auto_position_mode,channel_name);
Parameter
-
auto_position_mode -
Nilai yang menunjukkan apakah akan menggunakan replikasi posisi file log atau GTID-based replikasi:
-
0– Gunakan metode replikasi berdasarkan posisi file log biner. Nilai default-nya0. -
1Gunakan metode GTID-based replikasi.
-
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_source_auto_position_for_channel. Prosedur ini memulai ulang replikasi pada saluran yang ditentukan untuk menerapkan mode posisi otomatis yang ditentukan.
Contoh
Contoh berikut menetapkan mode posisi otomatis untuk channel_1 untuk menggunakan metode replikasi GTID-based .
call mysql.rds_set_source_auto_position_for_channel(1,'channel_1');
mysql.rds_set_source_delay_untuk_channel
Menetapkan jumlah detik minimum untuk menunda replikasi dari instance database sumber ke replika multi-sumber untuk saluran yang ditentukan.
Sintaksis
CALL mysql.rds_set_source_delay_for_channel(delay,channel_name);
Parameter
-
delay -
Jumlah detik minimum untuk menunda replikasi dari instance DB sumber.
Batas untuk parameter ini adalah satu hari (86.400 detik).
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_source_delay_for_channel. Untuk menggunakan prosedur ini, panggil pertama mysql.rds_stop_replication_for_channel untuk menghentikan replikasi. Kemudian, panggil prosedur ini untuk mengatur nilai penundaan replikasi. Saat penundaan diatur, panggil mysql.rds_start_replication_for_channel untuk memulai ulang replikasi.
Contoh
Contoh berikut menetapkan penundaan replikasi dari instance database sumber pada channel_1 replika multi-sumber setidaknya selama satu jam (3.600 detik).
CALL mysql.rds_set_source_delay_for_channel(3600,'channel_1');
mysql.rds_skip_repl_error_untuk_channel
Melewati peristiwa log biner dan menghapus kesalahan replikasi pada replika multi-sumber MySQL DB untuk saluran yang ditentukan.
Sintaksis
CALL mysql.rds_skip_repl_error_for_channel(channel_name);
Parameter
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_skip_repl_error_for_channel pada replika baca. Anda dapat menggunakan prosedur ini dengan cara yang mysql.rds_skip_repl_error sama digunakan untuk melewati kesalahan pada replika baca. Untuk informasi selengkapnya, lihat Memanggil prosedur mysql.rds_skip_repl_error.
catatan
Untuk menentukan apakah ada kesalahan, jalankan perintah SHOW REPLICA STATUS FOR CHANNEL ' MySQL. Jika kesalahan replikasi tidak parah, Anda dapat menjalankan channel_name'\Gmysql.rds_skip_repl_error_for_channel untuk melewati kesalahan tersebut. Jika ada beberapa kesalahan, hapus mysql.rds_skip_repl_error_for_channel kesalahan pertama pada saluran replikasi yang ditentukan, lalu memperingatkan bahwa ada yang lain. Anda kemudian dapat menggunakan SHOW REPLICA STATUS FOR CHANNEL ' untuk menentukan tindakan yang benar untuk kesalahan berikutnya. Untuk informasi tentang nilai yang ditampilkan, lihat SHOW REPLICA STATUS statementchannel_name'\G
mysql.rds_start_replikasi_untuk_saluran
Memulai replikasi dari instance RDS untuk MySQL DB ke replika multi-sumber pada saluran yang ditentukan.
catatan
Anda dapat menggunakan prosedur tersimpan mysql.rds_start_replikasi_hingga untuk_channel atau mysql.rds_start_replikasi_hingga gtid_untuk_channel untuk memulai replikasi dari instans DB RDS for MySQL dan menghentikan replikasi di lokasi file log biner yang ditentukan.
Sintaksis
CALL mysql.rds_start_replication_for_channel(channel_name);
Parameter
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_start_replication_for_channel. Setelah Anda mengimpor data dari sumber RDS untuk instance MySQL DB, jalankan perintah ini pada replika multi-sumber untuk memulai replikasi pada saluran yang ditentukan.
Contoh
Contoh berikut memulai replikasi replika multi-sumber. channel_1
CALL mysql.rds_start_replication_for_channel('channel_1');
mysql.rds_start_replikasi_hingga untuk_channel
Memulai replikasi dari instance RDS untuk MySQL DB pada saluran yang ditentukan dan menghentikan replikasi di lokasi file log biner yang ditentukan.
Sintaksis
CALL mysql.rds_start_replication_until_for_channel (replication_log_file,replication_stop_point,channel_name);
Parameter
-
replication_log_file -
Nama log biner pada instance DB sumber berisi informasi replikasi.
-
replication_stop_point -
Lokasi di log biner
replication_log_filetempat replikasi akan berhenti. -
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_start_replication_until_for_channel. Dengan prosedur ini, replikasi dimulai dan kemudian berhenti ketika posisi file binlog yang ditentukan tercapai. Prosedur ini menghentikan SQL_THREAD danIO_THREAD.
Nama file yang ditentukan untuk replication_log_file parameter harus sesuai dengan nama file binlog instance DB sumber.
Ketika replication_stop_point parameter menentukan lokasi berhenti yang ada di masa lalu, replikasi segera dihentikan.
Contoh
Contoh berikut memulai replikasichannel_1, dan mereplikasi perubahan hingga mencapai lokasi 120 di file log mysql-bin-changelog.000777 biner.
call mysql.rds_start_replication_until_for_channel( 'mysql-bin-changelog.000777', 120, 'channel_1' );
mysql.rds_start_replikasi_hingga gtid_untuk_channel
Memulai replikasi pada saluran tertentu dari instance RDS untuk MySQL DB dan menghentikan replikasi pada pengidentifikasi transaksi global (GTID) yang ditentukan.
Sintaksis
CALL mysql.rds_start_replication_until_gtid_for_channel(gtid,channel_name);
Parameter
-
gtid -
GTID setelah itu menghentikan replikasi.
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_start_replication_until_gtid_for_channel. Prosedur memulai replikasi pada saluran yang ditentukan dan menerapkan semua perubahan hingga nilai GTID yang ditentukan. Kemudian, ia menghentikan replikasi pada saluran.
Saat parameter gtid menentukan transaksi yang telah dijalankan oleh replika, replikasi akan segera dihentikan.
Sebelum menjalankan prosedur ini, Anda harus menonaktifkan replikasi multi-utas dengan menetapkan nilai replica_parallel_workers atau slave_parallel_workers ke0.
Contoh
Contoh berikut memulai replikasichannel_1, dan mereplikasi perubahan hingga mencapai GTID. 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
call mysql.rds_start_replication_until_gtid_for_channel('3E11FA47-71CA-11E1-9E33-C80AA9429562:23','channel_1');
mysql.rds_stop_replication_untuk_channel
Menghentikan replikasi dari instance MySQL DB pada saluran yang ditentukan.
Sintaksis
CALL mysql.rds_stop_replication_for_channel(channel_name);
Parameter
-
channel_name -
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instance MySQL DB yang berjalan pada host dan port tertentu.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_stop_replication_for_channel.
Contoh
Contoh berikut menghentikan replikasi replika multi-sumber. channel_1
CALL mysql.rds_stop_replication_for_channel('channel_1');