Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi, memulai, dan menghentikan replikasi log biner (binlog)
Anda dapat memanggil prosedur tersimpan berikut saat terhubung ke instance utama di cluster Aurora MySQL. Prosedur ini mengontrol bagaimana transaksi direplikasi dari database eksternal ke Aurora SQL My, atau dari Aurora SQL My ke database eksternal.
Topik
- mysql.rds_disable_session_binlog (Aurora Versi saya 2) SQL
- mysql.rds_enable_session_binlog (Aurora Versi saya 2) SQL
- mysql.rds_import_binlog_ssl_material
- mysql.rds_next_master_log (Aurora Versi saya 2) SQL
- mysql.rds_next_source_log (Aurora Versi saya 3) SQL
- mysql.rds_remove_binlog_ssl_material
- mysql.rds_reset_external_master (Aurora Versi saya 2) SQL
- mysql.rds_reset_external_source (Aurora Versi saya 3) SQL
- mysql.rds_set_binlog_source_ssl (Aurora Versi saya 3) SQL
- mysql.rds_set_external_master (Aurora Versi saya 2) SQL
- mysql.rds_set_external_master_with_auto_position (Aurora Versi saya 2) SQL
- mysql.rds_set_external_source (Aurora Versi saya 3) SQL
- mysql.rds_set_external_source_with_auto_position (Aurora Versi saya 3) SQL
- mysql.rds_set_master_auto_position (Aurora Versi saya 2) SQL
- mysql.rds_set_read_only (Aurora Versi saya 3) SQL
- mysql.rds_set_session_binlog_format (Aurora Versi saya 2) SQL
- mysql.rds_set_source_auto_position (Aurora Versi saya 3) SQL
- mysql.rds_skip_repl_error
- mysql.rds_start_replication
- mysql.rds_start_replication_until (Aurora Versi saya 3) SQL
- mysql.rds_stop_replication
mysql.rds_disable_session_binlog (Aurora Versi saya 2) SQL
Menonaktifkan pencatatan log biner untuk sesi saat ini dengan mengatur variabel sql_log_bin
ke OFF
.
Sintaksis
CALL mysql.rds_disable_session_binlog;
Parameter
Tidak ada
Catatan penggunaan
Untuk cluster Aurora My SQL DB, Anda memanggil prosedur tersimpan ini saat terhubung ke instance utama.
Untuk Aurora, prosedur ini didukung untuk Aurora My SQL versi 2.12 dan versi My 5.7 yang lebih tinggi. SQL
catatan
Di Aurora My SQL versi 3, Anda dapat menggunakan perintah berikut untuk menonaktifkan pencatatan biner untuk sesi saat ini jika Anda memiliki hak istimewa: SESSION_VARIABLES_ADMIN
SET SESSION sql_log_bin = OFF;
mysql.rds_enable_session_binlog (Aurora Versi saya 2) SQL
Mengaktifkan pencatatan log biner untuk sesi saat ini dengan mengatur variabel sql_log_bin
ke ON
.
Sintaksis
CALL mysql.rds_enable_session_binlog;
Parameter
Tidak ada
Catatan penggunaan
Untuk cluster Aurora My SQL DB, Anda memanggil prosedur tersimpan ini saat terhubung ke instance utama.
Untuk Aurora, prosedur ini didukung untuk Aurora My SQL versi 2.12 dan versi My 5.7 yang lebih tinggi. SQL
catatan
Di Aurora My SQL versi 3, Anda dapat menggunakan perintah berikut untuk mengaktifkan pencatatan biner untuk sesi saat ini jika Anda memiliki hak istimewa: SESSION_VARIABLES_ADMIN
SET SESSION sql_log_bin = ON;
mysql.rds_import_binlog_ssl_material
Mengimpor sertifikat otoritas sertifikat, sertifikat klien, dan kunci klien ke dalam cluster Aurora SQL My DB. Informasi diperlukan untuk SSL komunikasi dan replikasi terenkripsi.
catatan
Saat ini, prosedur ini didukung untuk Aurora My SQL versi 2:2.09.2, 2.10.0, 2.10.1, dan 2.11.0; dan versi 3:3.01.1 dan lebih tinggi.
Sintaks
CALL mysql.rds_import_binlog_ssl_material (
ssl_material
);
Parameter
-
ssl_material
-
JSONpayload yang berisi isi file format.pem berikut untuk klien Saya: SQL
-
"ssl_ca":"
Certificate authority certificate
" -
"ssl_cert":"
Client certificate
" -
"ssl_key":"
Client key
"
-
Catatan penggunaan
Persiapkan untuk replikasi terenkripsi sebelum Anda menjalankan prosedur ini:
-
Jika Anda belum SSL mengaktifkan instance database SQL sumber saya eksternal dan tidak memiliki kunci klien dan sertifikat klien yang disiapkan, aktifkan SSL di server SQL database Saya dan buat kunci klien dan sertifikat klien yang diperlukan.
-
Jika SSL diaktifkan pada instance database sumber eksternal, berikan kunci klien dan sertifikat untuk cluster Aurora My SQL DB. Jika Anda tidak memilikinya, buat kunci dan sertifikat baru untuk cluster Aurora My SQL DB. Untuk menandatangani sertifikat klien, Anda harus memiliki kunci otoritas sertifikat yang Anda gunakan untuk mengonfigurasi SSL pada instance database SQL sumber saya eksternal.
Untuk informasi selengkapnya, lihat Membuat SSL sertifikat dan kunci menggunakan openssl
penting
Setelah Anda mempersiapkan replikasi terenkripsi, gunakan SSL koneksi untuk menjalankan prosedur ini. Kunci klien tidak boleh ditransfer melalui koneksi yang tidak aman.
Prosedur ini mengimpor SSL informasi dari SQL database Saya eksternal ke cluster Aurora SQL My DB. SSLInformasinya ada dalam file format.pem yang berisi SSL informasi untuk cluster Aurora My DB. SQL Selama replikasi terenkripsi, cluster Aurora My SQL DB bertindak sebagai klien ke server database Saya. SQL Sertifikat dan kunci untuk Aurora SQL Klien saya ada dalam file dalam format.pem.
Anda dapat menyalin informasi dari file-file ini ke dalam ssl_material
parameter dalam JSON muatan yang benar. Untuk mendukung replikasi terenkripsi, impor SSL informasi ini ke cluster Aurora My DB. SQL
JSONMuatan harus dalam format berikut.
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
ssl_ca_pem_body_code
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----ssl_cert_pem_body_code
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----ssl_key_pem_body_code
-----END RSA PRIVATE KEY-----\n"}'
Contoh
Contoh berikut mengimpor SSL informasi ke dalam Aurora My. Dalam file berformat .pem, kode konten biasanya lebih panjang dari kode konten yang ditunjukkan dalam contoh.
call mysql.rds_import_binlog_ssl_material( '{"ssl_ca":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END RSA PRIVATE KEY-----\n"}');
mysql.rds_next_master_log (Aurora Versi saya 2) SQL
Mengubah posisi log instans basis data sumber menjadi awal log biner berikutnya pada instans basis data sumber. Gunakan prosedur ini hanya jika Anda menerima kesalahan I/O 1236 replikasi pada replika baca.
Sintaksis
CALL mysql.rds_next_master_log(
curr_master_log
);
Parameter
-
curr_master_log
-
Indeks file log master saat ini. Misalnya, jika file saat ini bernama
mysql-bin-changelog.012345
, maka indeksnya adalah 12345. Untuk menentukan nama file log master saat ini, jalankan perintahSHOW REPLICA STATUS
dan lihat kolomMaster_Log_File
.catatan
Versi sebelumnya dari My SQL digunakan
SHOW SLAVE STATUS
sebagai penggantiSHOW REPLICA STATUS
. Jika Anda menggunakan SQL versi Saya sebelum 8.0.23, maka gunakan.SHOW SLAVE STATUS
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_next_master_log
.
Awas
Panggil mysql.rds_next_master_log
hanya jika replikasi gagal setelah failover dari instans DB Multi-AZ yang merupakan sumber replikasi, dan kolom Last_IO_Errno
dari laporan kesalahan I/O 1236 SHOW REPLICA STATUS
.
Memanggil mysql.rds_next_master_log
dapat mengakibatkan hilangnya data di replika baca jika transaksi dalam instans sumber tidak ditulis ke log biner di disk sebelum peristiwa failover terjadi.
Contoh
Asumsikan replikasi gagal pada replika . Menjalankan SHOW REPLICA STATUS\G
pada replika baca akan menampilkan hasil berikut:
*************************** 1. row *************************** Replica_IO_State: Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: MasterUser Source_Port: 3306 Connect_Retry: 10 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Source_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Source_SSL_Allowed: No Source_SSL_CA_File: Source_SSL_CA_Path: Source_SSL_Cert: Source_SSL_Cipher: Source_SSL_Key: Seconds_Behind_Master: NULL Source_SSL_Verify_Server_Cert: No 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: Replicate_Ignore_Server_Ids: Source_Server_Id: 67285976
Kolom Last_IO_Errno
menunjukkan bahwa instans menerima kesalahan I/O 1236. Kolom Master_Log_File
menunjukkan bahwa nama file adalah mysql-bin-changelog.012345
, yang berarti indeks file log adalah 12345
. Untuk mengatasi kesalahan, Anda dapat memanggil mysql.rds_next_master_log
dengan parameter berikut:
CALL mysql.rds_next_master_log(12345);
catatan
Versi sebelumnya dari My SQL digunakan SHOW SLAVE STATUS
sebagai penggantiSHOW REPLICA STATUS
. Jika Anda menggunakan SQL versi Saya sebelum 8.0.23, maka gunakan. SHOW SLAVE STATUS
mysql.rds_next_source_log (Aurora Versi saya 3) SQL
Mengubah posisi log instans basis data sumber menjadi awal log biner berikutnya pada instans basis data sumber. Gunakan prosedur ini hanya jika Anda menerima kesalahan I/O 1236 replikasi pada replika baca.
Sintaksis
CALL mysql.rds_next_source_log(
curr_source_log
);
Parameter
-
curr_source_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
dan lihat kolomSource_Log_File
.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_next_source_log
.
Awas
Panggil mysql.rds_next_source_log
hanya jika replikasi gagal setelah failover dari instans DB Multi-AZ yang merupakan sumber replikasi, dan kolom Last_IO_Errno
dari laporan kesalahan I/O 1236 SHOW REPLICA STATUS
.
Memanggil mysql.rds_next_source_log
dapat mengakibatkan hilangnya data di replika baca jika transaksi dalam instans sumber tidak ditulis ke log biner di disk sebelum peristiwa failover terjadi.
Contoh
Asumsikan replikasi gagal pada replika baca Aurora SQL My. Menjalankan SHOW REPLICA STATUS\G
pada replika baca akan menampilkan hasil berikut:
*************************** 1. row *************************** Replica_IO_State: Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Source_User: MasterUser Source_Port: 3306 Connect_Retry: 10 Source_Log_File: mysql-bin-changelog.012345 Read_Source_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Source_Log_File: mysql-bin-changelog.012345 Replica_IO_Running: No Replica_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Source_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Source_SSL_Allowed: No Source_SSL_CA_File: Source_SSL_CA_Path: Source_SSL_Cert: Source_SSL_Cipher: Source_SSL_Key: Seconds_Behind_Source: NULL Source_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 'Client requested source 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: Replicate_Ignore_Server_Ids: Source_Server_Id: 67285976
Kolom Last_IO_Errno
menunjukkan bahwa instans menerima kesalahan I/O 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 memanggil mysql.rds_next_source_log
dengan parameter berikut:
CALL mysql.rds_next_source_log(12345);
mysql.rds_remove_binlog_ssl_material
Menghapus sertifikat otoritas sertifikat, sertifikat klien, dan kunci klien untuk SSL komunikasi dan replikasi terenkripsi. Informasi ini diimpor menggunakan mysql.rds_import_binlog_ssl_material.
Sintaksis
CALL mysql.rds_remove_binlog_ssl_material;
mysql.rds_reset_external_master (Aurora Versi saya 2) SQL
Mengkonfigurasi ulang instans My My SQL DB agar tidak lagi menjadi replika baca dari instance My running SQL eksternal Amazon. RDS
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 Aurora.
Sintaksis
CALL mysql.rds_reset_external_master;
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_reset_external_master
. Prosedur ini harus dijalankan pada instans SQL DB Saya untuk dihapus sebagai replika baca dari SQL instance Saya yang berjalan di luar AmazonRDS.
catatan
Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan SQL instans Saya yang berjalan di luar Amazon. RDS Kami menyarankan Anda menggunakan Aurora Replicas untuk mengelola replikasi dalam cluster Aurora My DB bila memungkinkan. SQL Untuk informasi tentang mengelola replikasi di klaster Aurora SQL My DB, lihat. Menggunakan Aurora Replica
Untuk informasi selengkapnya tentang menggunakan replikasi untuk mengimpor data dari instance My SQL running external ke Aurora SQL My, lihat. Replikasi antara Aurora dan SQL My atau antara Aurora dan cluster Aurora DB lainnya (replikasi log biner)
mysql.rds_reset_external_source (Aurora Versi saya 3) SQL
Mengkonfigurasi ulang instans My My SQL DB agar tidak lagi menjadi replika baca dari instance My running SQL eksternal Amazon. RDS
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 Aurora.
Sintaksis
CALL mysql.rds_reset_external_source;
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_reset_external_source
. Prosedur ini harus dijalankan pada instans SQL DB Saya untuk dihapus sebagai replika baca dari SQL instance Saya yang berjalan di luar AmazonRDS.
catatan
Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan SQL instans Saya yang berjalan di luar Amazon. RDS Kami menyarankan Anda menggunakan Aurora Replicas untuk mengelola replikasi dalam cluster Aurora My DB bila memungkinkan. SQL Untuk informasi tentang mengelola replikasi di klaster Aurora SQL My DB, lihat. Menggunakan Aurora Replica
mysql.rds_set_binlog_source_ssl (Aurora Versi saya 3) SQL
Mengaktifkan SOURCE_SSL
enkripsi untuk replikasi binlog. Untuk informasi selengkapnya, lihat pernyataan CHANGE REPLICATION SOURCE TO
Sintaks
CALL mysql.rds_set_binlog_source_ssl(
mode
);
Parameter
mode
-
Nilai yang menunjukkan apakah
SOURCE_SSL
enkripsi diaktifkan:-
0
—SOURCE_SSL
enkripsi dinonaktifkan. Default-nya adalah0
. -
1
—SOURCE_SSL
enkripsi diaktifkan. Anda dapat mengkonfigurasi enkripsi menggunakan SSL atauTLS.
-
Catatan penggunaan
Prosedur ini didukung untuk Aurora My SQL versi 3.06 dan yang lebih tinggi.
mysql.rds_set_external_master (Aurora Versi saya 2) SQL
Mengonfigurasi instance Aurora SQL My DB untuk menjadi replika baca dari instance SQL My running eksternal Amazon. RDS
Prosedur mysql.rds_set_external_master
tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Gunakan mysql.rds_set_external_source
sebagai gantinya.
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 Aurora.
Sintaksis
CALL mysql.rds_set_external_master (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
);
Parameter
-
host_name
-
Nama host atau alamat IP dari SQL instans Saya berjalan eksternal ke Amazon RDS untuk menjadi instance database sumber.
-
host_port
-
Port yang digunakan oleh SQL instans Saya yang berjalan eksternal RDS ke Amazon untuk dikonfigurasi sebagai instance database sumber. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH
-
replication_user_name
-
ID pengguna dengan
REPLICATION CLIENT
danREPLICATION SLAVE
izin pada SQL instans Saya yang berjalan di luar AmazonRDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal. -
replication_user_password
-
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name
. -
mysql_binary_log_file_name
-
Nama log biner pada instans basis data sumber yang berisi informasi replikasi.
-
mysql_binary_log_file_location
-
Lokasi di log biner
mysql_binary_log_file_name
tempat replikasi mulai membaca informasi replikasi.Anda dapat menentukan nama dan lokasi file binlog dengan menjalankan
SHOW MASTER STATUS
pada instans basis data sumber. -
ssl_encryption
-
Nilai yang menentukan apakah enkripsi Secure Socket Layer (SSL) digunakan pada koneksi replikasi. 1 menentukan untuk menggunakan SSL enkripsi, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.
catatan
Opsi
MASTER_SSL_VERIFY_SERVER_CERT
tidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_external_master
. Prosedur ini harus dijalankan pada instans SQL DB Saya untuk dikonfigurasi sebagai replika baca SQL instance Saya yang berjalan di luar AmazonRDS.
Sebelum menjalankanmysql.rds_set_external_master
, Anda harus mengonfigurasi instance My SQL running external to Amazon RDS untuk menjadi instance database sumber. Untuk menyambung ke SQL instans Saya yang berjalan eksternal ke AmazonRDS, Anda harus menentukan replication_user_name
dan replication_user_password
nilai yang menunjukkan pengguna replikasi yang memiliki REPLICATION CLIENT
dan REPLICATION SLAVE
izin pada instance eksternal My. SQL
Untuk mengkonfigurasi instance eksternal My SQL sebagai instance database sumber
Menggunakan SQL klien Saya pilihan Anda, sambungkan ke instance eksternal My SQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
SQL5.7 saya
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Saya SQL 8.0
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '
password
';catatan
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Pada contoh eksternal MySQL, berikan
REPLICATION CLIENT
dan hakREPLICATION SLAVE
istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENT
danREPLICATION SLAVE
pada semua basis data untuk pengguna ‘repl_user’ domain Anda.SQL5.7 saya
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Saya SQL 8.0
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
Untuk menggunakan replikasi terenkripsi, konfigurasikan instance database sumber untuk menggunakan koneksi. SSL Selain itu, impor sertifikat otoritas sertifikat, sertifikat klien, dan kunci klien ke dalam instans DB atau klaster DB menggunakan prosedur mysql.rds_import_binlog_ssl_material.
catatan
Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan SQL instans Saya yang berjalan di luar Amazon. RDS Kami menyarankan Anda menggunakan Aurora Replicas untuk mengelola replikasi dalam cluster Aurora My DB bila memungkinkan. SQL Untuk informasi tentang mengelola replikasi di klaster Aurora SQL My DB, lihat. Menggunakan Aurora Replica
Setelah menelepon mysql.rds_set_external_master
untuk mengonfigurasi instans Amazon RDS DB sebagai replika baca, Anda dapat memanggil mysql.rds_start_replication replika baca untuk memulai proses replikasi. Anda dapat memanggil mysql.rds_reset_external_master (Aurora Versi saya 2) SQL untuk menghapus konfigurasi replika baca.
Ketika mysql.rds_set_external_master
dipanggil, Amazon RDS mencatat waktu, pengguna, dan tindakan set master
dalam mysql.rds_history
dan mysql.rds_replication_status
tabel.
Contoh
Ketika dijalankan pada instans SQL DB Saya, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instance My SQL running eksternal ke Amazon. RDS
call mysql.rds_set_external_master( 'Externaldb.some.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0);
mysql.rds_set_external_master_with_auto_position (Aurora Versi saya 2) SQL
Mengonfigurasi instance utama Aurora SQL My untuk menerima replikasi masuk dari instance Saya eksternal. SQL Prosedur ini juga mengonfigurasi replikasi berdasarkan pengidentifikasi transaksi global (). GTIDs
Prosedur ini tidak mengonfigurasi replikasi yang tertunda, karena Aurora SQL My tidak mendukung replikasi yang tertunda.
Sintaks
CALL mysql.rds_set_external_master_with_auto_position (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
);
Parameter
host_name
-
Nama host atau alamat IP dari SQL instans Saya berjalan eksternal ke Aurora untuk menjadi sumber replikasi.
host_port
-
Port yang digunakan oleh SQL instans Saya berjalan eksternal ke Aurora untuk dikonfigurasi sebagai sumber replikasi. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH
replication_user_name
-
ID pengguna dengan
REPLICATION CLIENT
danREPLICATION SLAVE
izin pada SQL instance Saya yang berjalan di luar Aurora. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal. replication_user_password
-
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name
. ssl_encryption
-
Opsi ini belum diterapkan. Default-nya adalah 0.
Catatan penggunaan
Untuk cluster Aurora My SQL DB, Anda memanggil prosedur tersimpan ini saat terhubung ke instance utama.
Pengguna utama harus menjalankan prosedur mysql.rds_set_external_master_with_auto_position
. Pengguna master menjalankan prosedur ini pada instance utama cluster Aurora My SQL DB yang bertindak sebagai target replikasi. Ini bisa menjadi target replikasi instans My SQL DB eksternal atau cluster Aurora SQL My DB.
Prosedur ini didukung untuk Aurora My SQL versi 2. Untuk Aurora My SQL versi 3, gunakan prosedur mysql.rds_set_external_source_with_auto_position (Aurora Versi saya 3) SQL sebagai gantinya.
Sebelum Anda menjalankanmysql.rds_set_external_master_with_auto_position
, konfigurasikan instance My SQL DB eksternal menjadi sumber replikasi. Untuk terhubung ke SQL instance Saya eksternal, tentukan nilai untuk replication_user_name
danreplication_user_password
. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki REPLICATION CLIENT
dan REPLICATION SLAVE
izin pada instance Saya SQL eksternal.
Untuk mengonfigurasi SQL instance Saya eksternal sebagai sumber replikasi
-
Menggunakan SQL klien Saya pilihan Anda, sambungkan ke SQL instans Saya eksternal dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
-
Pada SQL instans Saya eksternal, berikan
REPLICATION CLIENT
danREPLICATION SLAVE
hak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENT
danREPLICATION SLAVE
pada semua basis data untuk pengguna'repl_user'
domain Anda.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
Saat Anda meneleponmysql.rds_set_external_master_with_auto_position
, Amazon RDS mencatat informasi tertentu. Informasi ini adalah waktu, pengguna, dan tindakan "set master"
di tabel mysql.rds_history
dan mysql.rds_replication_status
.
Untuk melewati transaksi GTID berbasis tertentu yang diketahui menyebabkan masalah, Anda dapat menggunakan prosedur mysql.rds_skip_transaction_with_gtid (Aurora Versi saya 2 dan 3) SQL tersimpan. Untuk informasi lebih lanjut tentang bekerja dengan replikasi GTID berbasis, lihatMenggunakan replikasi GTID berbasis.
Contoh
Ketika dijalankan pada instance utama Aurora, contoh berikut mengkonfigurasi cluster Aurora untuk bertindak sebagai replika baca dari instance My running eksternal ke Aurora. SQL
call mysql.rds_set_external_master_with_auto_position( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd');
mysql.rds_set_external_source (Aurora Versi saya 3) SQL
Mengonfigurasi instans Aurora SQL My DB menjadi replika baca dari instance SQL My running eksternal ke Amazon. RDS
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 Aurora.
Sintaksis
CALL mysql.rds_set_external_source (
host_name
,host_port
,replication_user_name
,replication_user_password
,mysql_binary_log_file_name
,mysql_binary_log_file_location
,ssl_encryption
);
Parameter
-
host_name
-
Nama host atau alamat IP dari SQL instans Saya berjalan eksternal ke Amazon RDS untuk menjadi instance database sumber.
-
host_port
-
Port yang digunakan oleh SQL instans Saya yang berjalan eksternal RDS ke Amazon untuk dikonfigurasi sebagai instance database sumber. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH
-
replication_user_name
-
ID pengguna dengan
REPLICATION CLIENT
danREPLICATION SLAVE
izin pada SQL instans Saya yang berjalan di luar AmazonRDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal. -
replication_user_password
-
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name
. -
mysql_binary_log_file_name
-
Nama log biner pada instans basis data sumber yang berisi informasi replikasi.
-
mysql_binary_log_file_location
-
Lokasi di log biner
mysql_binary_log_file_name
tempat replikasi mulai membaca informasi replikasi.Anda dapat menentukan nama dan lokasi file binlog dengan menjalankan
SHOW MASTER STATUS
pada instans basis data sumber. -
ssl_encryption
-
Nilai yang menentukan apakah enkripsi Secure Socket Layer (SSL) digunakan pada koneksi replikasi. 1 menentukan untuk menggunakan SSL enkripsi, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.
catatan
Anda harus telah mengimpor SSL sertifikat khusus menggunakan mysql.rds_import_binlog_ssl_material untuk mengaktifkan opsi ini. Jika Anda belum mengimpor SSL sertifikat kustom, maka atur parameter ini ke 0 dan gunakan mysql.rds_set_binlog_source_ssl (Aurora Versi saya 3) SQL SSL untuk mengaktifkan replikasi log biner.
Opsi
MASTER_SSL_VERIFY_SERVER_CERT
tidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_external_source
. Prosedur ini harus dijalankan pada instans Aurora My SQL DB untuk dikonfigurasi sebagai replika baca SQL instance Saya yang berjalan di luar Amazon. RDS
Sebelum menjalankanmysql.rds_set_external_source
, Anda harus mengonfigurasi instance My SQL running external to Amazon RDS untuk menjadi instance database sumber. Untuk menyambung ke SQL instans Saya yang berjalan eksternal ke AmazonRDS, Anda harus menentukan replication_user_name
dan replication_user_password
nilai yang menunjukkan pengguna replikasi yang memiliki REPLICATION CLIENT
dan REPLICATION SLAVE
izin pada instance eksternal My. SQL
Untuk mengkonfigurasi instance eksternal My SQL sebagai instance database sumber
-
Menggunakan SQL klien Saya pilihan Anda, sambungkan ke instance eksternal My SQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
SQL5.7 saya
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Saya SQL 8.0
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY '
password
';catatan
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Pada contoh eksternal MySQL, berikan
REPLICATION CLIENT
dan hakREPLICATION SLAVE
istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENT
danREPLICATION SLAVE
pada semua basis data untuk pengguna ‘repl_user’ domain Anda.SQL5.7 saya
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '
password
';Saya SQL 8.0
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
Untuk menggunakan replikasi terenkripsi, konfigurasikan instance database sumber untuk menggunakan koneksi. SSL Selain itu, impor sertifikat otoritas sertifikat, sertifikat klien, dan kunci klien ke dalam instans DB atau klaster DB menggunakan prosedur mysql.rds_import_binlog_ssl_material.
catatan
Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan SQL instans Saya yang berjalan di luar Amazon. RDS Kami menyarankan Anda menggunakan Aurora Replicas untuk mengelola replikasi dalam cluster Aurora My DB bila memungkinkan. SQL Untuk informasi tentang mengelola replikasi di klaster Aurora SQL My DB, lihat. Menggunakan Aurora Replica
Setelah menelepon mysql.rds_set_external_source
untuk mengonfigurasi instance Aurora My SQL DB sebagai replika baca, Anda dapat memanggil mysql.rds_start_replication pada replika baca untuk memulai proses replikasi. Anda dapat memanggil mysql.rds_external_source untuk menghapus konfigurasi replika baca.
Ketika mysql.rds_set_external_source
dipanggil, Amazon RDS mencatat waktu, pengguna, dan tindakan set
master
dalam mysql.rds_history
dan mysql.rds_replication_status
tabel.
Contoh
Ketika dijalankan pada instance Aurora My SQL DB, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instance My running SQL external to Amazon. RDS
call mysql.rds_set_external_source( 'Externaldb.some.com', 3306, 'repl_user', '
password
', 'mysql-bin-changelog.0777', 120, 0);
mysql.rds_set_external_source_with_auto_position (Aurora Versi saya 3) SQL
Mengonfigurasi instance utama Aurora SQL My untuk menerima replikasi masuk dari instance Saya eksternal. SQL Prosedur ini juga mengonfigurasi replikasi berdasarkan pengidentifikasi transaksi global (). GTIDs
Sintaks
CALL mysql.rds_set_external_source_with_auto_position (
host_name
,host_port
,replication_user_name
,replication_user_password
,ssl_encryption
);
Parameter
host_name
-
Nama host atau alamat IP dari SQL instans Saya berjalan eksternal ke Aurora untuk menjadi sumber replikasi.
host_port
-
Port yang digunakan oleh SQL instans Saya berjalan eksternal ke Aurora untuk dikonfigurasi sebagai sumber replikasi. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH
replication_user_name
-
ID pengguna dengan
REPLICATION CLIENT
danREPLICATION SLAVE
izin pada SQL instance Saya yang berjalan di luar Aurora. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal. replication_user_password
-
Kata sandi ID pengguna yang ditentukan dalam
replication_user_name
. ssl_encryption
-
Opsi ini belum diterapkan. Default-nya adalah 0.
catatan
Gunakan mysql.rds_set_binlog_source_ssl (Aurora Versi saya 3) SQL SSL untuk mengaktifkan replikasi log biner.
Catatan penggunaan
Untuk cluster Aurora My SQL DB, Anda memanggil prosedur tersimpan ini saat terhubung ke instance utama.
Pengguna administratif harus menjalankan prosedur mysql.rds_set_external_source_with_auto_position
. Pengguna administratif menjalankan prosedur ini pada contoh utama cluster Aurora My SQL DB yang bertindak sebagai target replikasi. Ini bisa menjadi target replikasi instans My SQL DB eksternal atau cluster Aurora SQL My DB.
Prosedur ini didukung untuk Aurora My SQL versi 3. Prosedur ini tidak mengonfigurasi replikasi yang tertunda, karena Aurora SQL My tidak mendukung replikasi yang tertunda.
Sebelum Anda menjalankanmysql.rds_set_external_source_with_auto_position
, konfigurasikan instance My SQL DB eksternal menjadi sumber replikasi. Untuk terhubung ke SQL instans Saya eksternal, tentukan nilai untuk replication_user_name
danreplication_user_password
. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki REPLICATION CLIENT
dan REPLICATION SLAVE
izin pada instance Saya SQL eksternal.
Untuk mengonfigurasi SQL instance Saya eksternal sebagai sumber replikasi
-
Menggunakan SQL klien Saya pilihan Anda, sambungkan ke SQL instans Saya eksternal dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
-
Pada SQL instans Saya eksternal, berikan
REPLICATION CLIENT
danREPLICATION SLAVE
hak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak aksesREPLICATION CLIENT
danREPLICATION SLAVE
pada semua basis data untuk pengguna'repl_user'
domain Anda.GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
Saat Anda meneleponmysql.rds_set_external_source_with_auto_position
, Amazon RDS mencatat informasi tertentu. Informasi ini adalah waktu, pengguna, dan tindakan "set master"
di tabel mysql.rds_history
dan mysql.rds_replication_status
.
Untuk melewati transaksi GTID berbasis tertentu yang diketahui menyebabkan masalah, Anda dapat menggunakan prosedur mysql.rds_skip_transaction_with_gtid (Aurora Versi saya 2 dan 3) SQL tersimpan. Untuk informasi lebih lanjut tentang bekerja dengan replikasi GTID berbasis, lihatMenggunakan replikasi GTID berbasis.
Contoh
Ketika dijalankan pada instance utama Aurora, contoh berikut mengkonfigurasi cluster Aurora untuk bertindak sebagai replika baca dari instance My running eksternal ke Aurora. SQL
call mysql.rds_set_external_source_with_auto_position( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'SomePassW0rd');
mysql.rds_set_master_auto_position (Aurora Versi saya 2) SQL
Menetapkan mode replikasi untuk didasarkan pada posisi file log biner atau pada pengidentifikasi transaksi global ()GTIDs.
Sintaks
CALL mysql.rds_set_master_auto_position (
auto_position_mode
);
Parameter
-
auto_position_mode
-
Nilai yang menunjukkan apakah akan menggunakan replikasi posisi file log atau replikasi GTID berbasis:
-
0
– Gunakan metode replikasi berdasarkan posisi file log biner. Default-nya adalah0
. -
1
— Gunakan metode replikasi GTID berbasis.
-
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_set_master_auto_position
.
Prosedur ini didukung untuk Aurora My SQL versi 2.
mysql.rds_set_read_only (Aurora Versi saya 3) SQL
Menghidupkan atau menonaktifkan read_only
mode secara global untuk instans DB.
Sintaks
CALL mysql.rds_set_read_only(
mode
);
Parameter
mode
-
Nilai yang menunjukkan apakah
read_only
mode aktif atau tidak aktif secara global untuk instans DB:-
0
—OFF
. Defaultnya adalah0
. -
1
–ON
-
Catatan penggunaan
Prosedur yang mysql.rds_set_read_only
disimpan hanya memodifikasi read_only
parameter. innodb_read_only
Parameter tidak dapat diubah pada instans DB pembaca.
Perubahan read_only
parameter tidak bertahan saat reboot. Untuk membuat perubahan permanenread_only
, Anda harus menggunakan parameter cluster read_only
DB.
Prosedur ini didukung untuk Aurora My SQL versi 3.06 dan yang lebih tinggi.
mysql.rds_set_session_binlog_format (Aurora Versi saya 2) SQL
Mengatur format log biner untuk sesi saat ini.
Sintaksis
CALL mysql.rds_set_session_binlog_format(
format
);
Parameter
format
-
Nilai yang menunjukkan format log biner untuk sesi saat ini:
-
STATEMENT
— Sumber replikasi menulis peristiwa ke log biner berdasarkan SQL pernyataan. -
ROW
– Sumber replikasi menulis peristiwa ke log biner yang menunjukkan perubahan pada baris tabel individual. -
MIXED
Logging umumnya didasarkan pada SQL pernyataan, tetapi beralih ke baris dalam kondisi tertentu. Untuk informasi selengkapnya, lihat Format Pencatatan Biner Campurandi SQL dokumentasi Saya.
-
Catatan penggunaan
Untuk cluster Aurora My SQL DB, Anda memanggil prosedur tersimpan ini saat terhubung ke instance utama.
Untuk menggunakan prosedur tersimpan ini, Anda harus memiliki pencatatan log biner yang dikonfigurasi untuk sesi saat ini.
Untuk Aurora, prosedur ini didukung untuk Aurora My SQL versi 2.12 dan versi My 5.7 yang lebih tinggi. SQL
mysql.rds_set_source_auto_position (Aurora Versi saya 3) SQL
Menetapkan mode replikasi untuk didasarkan pada posisi file log biner atau pada pengidentifikasi transaksi global ()GTIDs.
Sintaks
CALL mysql.rds_set_source_auto_position (
auto_position_mode
);
Parameter
auto_position_mode
-
Nilai yang menunjukkan apakah akan menggunakan replikasi posisi file log atau replikasi GTID berbasis:
-
0
– Gunakan metode replikasi berdasarkan posisi file log biner. Default-nya adalah0
. -
1
— Gunakan metode replikasi GTID berbasis.
-
Catatan penggunaan
Untuk cluster Aurora My SQL DB, Anda memanggil prosedur tersimpan ini saat terhubung ke instance utama.
Pengguna administratif harus menjalankan prosedur mysql.rds_set_source_auto_position
.
mysql.rds_skip_repl_error
Melewatkan dan menghapus kesalahan replikasi pada replika baca My SQL DB.
Sintaks
CALL mysql.rds_skip_repl_error;
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_skip_repl_error
pada replika baca. Untuk informasi selengkapnya tentang prosedur ini, lihat Melewati kesalahan replikasi saat ini.
Untuk menentukan apakah ada kesalahan, jalankan SQL SHOW REPLICA STATUS\G
perintah Saya. Jika kesalahan replikasi tidak parah, Anda dapat menjalankan mysql.rds_skip_repl_error
untuk melewati kesalahan tersebut. Jika ada beberapa kesalahan, mysql.rds_skip_repl_error
akan menghapus kesalahan pertama, lalu memberi peringatan bahwa ada kesalahan lain. Anda kemudian dapat menggunakan SHOW REPLICA STATUS\G
untuk menentukan tindakan yang benar untuk kesalahan berikutnya. Untuk informasi tentang nilai yang dikembalikan, lihat SHOWREPLICASTATUSpernyataan
catatan
Versi sebelumnya dari My SQL digunakan SHOW SLAVE STATUS
sebagai penggantiSHOW REPLICA STATUS
. Jika Anda menggunakan SQL versi Saya sebelum 8.0.23, maka gunakan. SHOW SLAVE STATUS
Untuk informasi lebih lanjut tentang mengatasi kesalahan replikasi dengan Aurora My, lihat. SQL Mendiagnosis dan menyelesaikan kegagalan replikasi baca Saya atau SQL
Kesalahan replikasi terhenti
Ketika memanggil prosedur mysql.rds_skip_repl_error
, Anda mungkin menerima pesan kesalahan yang menyatakan bahwa replika tidak berfungsi atau dinonaktifkan.
Pesan kesalahan ini muncul jika Anda menjalankan prosedur pada instans primer, bukan replika baca. Anda harus menjalankan prosedur ini pada replika baca agar prosedur berfungsi.
Pesan kesalahan ini mungkin juga muncul jika Anda menjalankan prosedur pada replika baca, tetapi replikasi tidak berhasil dimulai ulang.
Jika Anda perlu melewati sejumlah besar kesalahan, lag replikasi dapat meningkat hingga melampaui periode retensi default untuk file log biner (binlog). Dalam kasus ini, Anda mungkin mengalami kesalahan fatal karena file binlog dihapus sebelum diputar ulang di replika baca. Penghapusan ini menyebabkan replikasi berhenti, dan Anda tidak dapat lagi memanggil perintah mysql.rds_skip_repl_error
untuk melewati kesalahan replikasi.
Anda dapat memitigasi masalah ini dengan meningkatkan jumlah jam retensi file binlog tersebut pada instans basis data sumber Anda. Setelah meningkatkan waktu retensi binlog, Anda dapat memulai ulang replikasi dan memanggil perintah mysql.rds_skip_repl_error
sesuai kebutuhan.
Untuk mengatur waktu retensi binlog, gunakan prosedur mysql.rds_set_configuration dan tentukan parameter konfigurasi 'binlog
retention hours'
bersama dengan jumlah jam untuk mempertahankan file binlog di klaster DB. Contoh berikut menetapkan periode penyimpanan file binlog menjadi 48 jam.
CALL mysql.rds_set_configuration('binlog retention hours', 48);
mysql.rds_start_replication
Memulai replikasi dari instance cluster. SQL
catatan
Anda dapat menggunakan prosedur mysql.rds_start_replication_until (Aurora Versi saya 3) SQL atau mysql.rds_start_replication_until_gtid (Aurora Versi saya 3) SQL tersimpan untuk memulai replikasi dari instance My SQL DB dan menghentikan replikasi di lokasi file log biner yang ditentukan.
Sintaks
CALL mysql.rds_start_replication;
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_start_replication
.
Untuk mengimpor data dari instance SQL eksternal Saya ke AmazonRDS, panggil mysql.rds_start_replication
replika baca untuk memulai proses replikasi setelah Anda memanggil mysql.rds_set_external_master
atau mysql.rds_set_external_source
membuat konfigurasi replikasi. Untuk informasi selengkapnya, lihat Replikasi antara Aurora dan SQL My atau antara Aurora dan cluster Aurora DB lainnya (replikasi log biner).
Untuk mengekspor data ke instance SQL eksternal Saya ke AmazonRDS, panggil mysql.rds_start_replication
dan mysql.rds_stop_replication
pada replika baca untuk mengontrol beberapa tindakan replikasi, seperti membersihkan log biner. Untuk informasi selengkapnya, lihat Replikasi antara Aurora dan SQL My atau antara Aurora dan cluster Aurora DB lainnya (replikasi log biner).
Anda juga dapat memanggil mysql.rds_start_replication
pada replika baca untuk memulai kembali proses replikasi apa pun yang sebelumnya Anda hentikan dengan memanggil mysql.rds_stop_replication
. Untuk informasi selengkapnya, lihat Kesalahan replikasi terhenti.
mysql.rds_start_replication_until (Aurora Versi saya 3) SQL
Memulai replikasi dari instance My SQL DB cluster dan menghentikan replikasi di lokasi file log biner yang ditentukan.
Sintaks
CALL mysql.rds_start_replication_until (
replication_log_file
,replication_stop_point
);
Parameter
-
replication_log_file
-
Nama log biner pada instans basis data sumber yang berisi informasi replikasi.
-
replication_stop_point
-
Lokasi di log biner
replication_log_file
tempat replikasi akan berhenti.
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_start_replication_until
.
Prosedur ini didukung untuk Aurora My SQL versi 3.04 dan yang lebih tinggi.
Prosedur mysql.rds_start_replication_until
tersimpan tidak didukung untuk replikasi terkelola, yang mencakup hal-hal berikut:
Nama file yang ditentukan untuk parameter replication_log_file
harus cocok dengan nama file binlog instans basis data sumber.
Jika parameter replication_stop_point
menentukan lokasi perhentian di masa lalu, replikasi akan segera dihentikan.
Contoh
Contoh berikut memulai replikasi dan mereplikasi perubahan hingga mencapai lokasi 120
di file log biner mysql-bin-changelog.000777
.
call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);
mysql.rds_stop_replication
Menghentikan replikasi dari instans My SQL DB.
Sintaks
CALL mysql.rds_stop_replication;
Catatan penggunaan
Pengguna utama harus menjalankan prosedur mysql.rds_stop_replication
.
Jika Anda mengonfigurasi replikasi untuk mengimpor data dari instance My SQL running eksternal ke AmazonRDS, Anda memanggil mysql.rds_stop_replication
replika baca untuk menghentikan proses replikasi setelah impor selesai. Untuk informasi selengkapnya, lihat Replikasi antara Aurora dan SQL My atau antara Aurora dan cluster Aurora DB lainnya (replikasi log biner).
Jika Anda mengonfigurasi replikasi untuk mengekspor data ke instance SQL eksternal Saya ke AmazonRDS, Anda memanggil mysql.rds_start_replication
dan mysql.rds_stop_replication
menggunakan replika baca untuk mengontrol beberapa tindakan replikasi, seperti membersihkan log biner. Untuk informasi selengkapnya, lihat Replikasi antara Aurora dan SQL My atau antara Aurora dan cluster Aurora DB lainnya (replikasi log biner).
Prosedur mysql.rds_stop_replication
tersimpan tidak didukung untuk replikasi terkelola, yang mencakup hal-hal berikut: