Tutorial berikut bertujuan untuk memberi Anda panduan langkah demi langkah sederhana untuk menyiapkan MySQL (Master-Budak) Replikasi di dalam RHEL 6.3/6.2/6.1/6/5.8, CentOS 6.3/6.2/6.1/6/5.8 dan Fedora 17,16,15,14,13,12 menggunakan terbaru MySQL Versi: kapan. Panduan ini ditulis khusus untuk CentOS 6.3 Sistem Operasi, tetapi juga bekerja dengan versi lama Linux distribusi dengan MySQL 5.x.
MEMPERBARUI: Jika Anda mencari Replikasi Master-Slave MariaDB di bawah CentOS/RHEL 7 dan Debian 8 dan turunannya seperti Ubuntu, ikuti panduan ini Siapkan Replikasi Master-Slave MariaDB.
NS Replikasi MySQL sangat berguna dalam hal Keamanan data, Solusi Kegagalan, Cadangan Basis Data dari Budak, Analitik dll. Kami menggunakan hal-hal berikut untuk melakukan proses replikasi. Dalam skenario Anda itu akan berbeda.
Kami memiliki dua server, satu adalah Menguasai dengan AKU P (192.168.1.1) dan lainnya adalah Budak sebagai (192.168.1.2). Kami telah membagi proses penyiapan dalam dua fase untuk mempermudah Anda, In Fase I kami akan mengkonfigurasi Menguasai server dan di Fase II dengan Budak server. Mari kita mulai proses pengaturan replikasi.
Di dalam Fase I, kita akan melihat instalasi MySQL, pengaturan Replikasi dan kemudian memverifikasi replikasi.
Pertama, lanjutkan dengan MySQL instalasi menggunakan perintah YUM. Jika Anda sudah memiliki instalasi MySQL, Anda dapat melewati langkah ini.
# yum install mysql-server mysql
Membuka my.cnf file konfigurasi dengan VI editor.
# vi /etc/my.cnf
Tambahkan entri berikut di bawah [mysqld] bagian dan jangan lupa untuk mengganti dekat dengan nama database yang ingin Anda tiru Budak.
ID server = 1. binlog-do-db=dekat relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin
Mulai ulang MySQL melayani.
# /etc/init.d/mysqld restart
Masuk ke MySQL sebagai akar pengguna dan buat pengguna budak dan memberikan hak istimewa untuk replikasi. Mengganti budak_pengguna dengan pengguna dan kata sandi Anda dengan kata sandi.
# mysql -u root -p
mysql> GRANT REPLICATION SLAVE PADA *.* TO 'budak_pengguna'@'%' DIIDENTIFIKASI OLEH 'kata sandi Anda'; mysql> HAK ISTIMEWA FLUSH; mysql> FLUSH TABLES DENGAN READ LOCK; mysql> TAMPILKAN STATUS MASTER; +++++ | Berkas | Posisi | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| tekmin | | +++++ 1 baris dalam set (0,00 detik) mysql> keluar;
Silahkan tuliskan File (mysql-bin.000003) dan Posisi (11128001) nomor, kami membutuhkan nomor ini nanti Budak server. Aplikasi selanjutnya BACA KUNCI ke database untuk mengekspor semua database dan informasi database master dengan mysqldump memerintah.
# mysqldump -u root -p --all-databases --master-data > /root/dbdump.db
Setelah Anda membuang semua database, sekarang sambungkan lagi ke mysql sebagai pengguna root dan unlcok tabel.
mysql> BUKA TABEL; mysql> keluar;
Unggah file dump database di Budak Server (192.168.1.2) menggunakan perintah SCP.
scp /root/dbdump.db [dilindungi email]:/akar/
Itu saja kami telah berhasil mengonfigurasi Menguasai server, mari kita lanjutkan ke Fase II bagian.
Di dalam Fase II, kami melakukan instalasi MySQL, pengaturan Replikasi dan kemudian memverifikasi replikasi.
Jika Anda tidak memiliki MySQL terinstal, lalu instal menggunakan perintah YUM.
# yum install mysql-server mysql
Membuka my.cnf file konfigurasi dengan VI editor.
# vi /etc/my.cnf
Tambahkan entri berikut di bawah [mysqld] bagian dan jangan lupa untuk mengganti AKU P alamat dari Menguasai pelayan, dekat dengan nama database dll, yang ingin Anda tiru Menguasai.
ID server = 2. tuan-tuan =192.168.1.1 master-koneksi-coba lagi=60. master-pengguna=budak_pengguna kata sandi utama=kata sandi Anda ulangan-lakukan-db=dekat relay-log = /var/lib/mysql/mysql-relay-bin. relay-log-index = /var/lib/mysql/mysql-relay-bin.index. log-error = /var/lib/mysql/mysql.err. master-info-file = /var/lib/mysql/mysql-master.info. relay-log-info-file = /var/lib/mysql/mysql-relay-log.info. log-bin = /var/lib/mysql/mysql-bin
Sekarang impor file dump yang kami ekspor pada perintah sebelumnya dan restart layanan MySQL.
# mysql -u root -p < /root/dbdump.db. # /etc/init.d/mysqld restart.
Masuk ke MySQL sebagai pengguna root dan hentikan budak. Lalu beri tahu budak ke mana harus mencari File log induk, yang telah kami tulis di master dengan TUNJUKKAN STATUS UTAMA; perintah sebagai File (mysql-bin.000003) dan Posisi (11128001) angka. Anda harus berubah 192.168.1.1 ke AKU P alamat dari Server Utama, dan ubah pengguna dan kata sandi demikian.
# mysql -u root -p
mysql> berhenti budak; mysql> GANTI MASTER KE MASTER_HOST='192.168.1.1', MASTER_USER='budak_pengguna', MASTER_PASSWORD='kata sandi Anda', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11128001; mysql> budak mulai; mysql> tampilkan status budak\G
*************************** 1. baris *************************** Slave_IO_State: Menunggu master mengirim acara Master_Host: 192.168.1.1 Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Baca_Master_Log_Pos: 12345100 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 11381900 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Ya Slave_SQL_Running: Ya Replika_Do_DB: dekat 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_Master_Log_Pos: 12345100 Relay_Log_Space: 11382055 Hingga_Kondisi: Tidak Ada Hingga_Log_File: Hingga_Log_Pos: 0 Master_SSL_Allowed: Tidak ada Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Detik_Behind_Master: 0. Master_SSL_Verify_Server_Cert: Tidak Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 baris dalam set (0,00 detik)
Sangat penting untuk mengetahui bahwa replikasi bekerja dengan sempurna. Pada Menguasai server membuat tabel dan memasukkan beberapa nilai di dalamnya.
mysql> buat database tecmint; mysql> gunakan tecmint; mysql> CREATE TABLE karyawan (c int); mysql> INSERT INTO employee (c) NILAI (1); mysql> PILIH * DARI karyawan;
++ | c | ++ | 1 | ++ 1 baris dalam set (0,00 detik)
Memverifikasi BUDAK, dengan menjalankan perintah yang sama, itu akan mengembalikan nilai yang sama di budak juga.
mysql> gunakan tecmint; mysql> PILIH * DARI karyawan;
++ | c | ++ | 1 | ++ 1 baris dalam set (0,00 detik)
Itu saja, akhirnya Anda telah mengonfigurasi Replikasi MySQL dalam beberapa langkah sederhana. Informasi lebih lanjut dapat ditemukan di Panduan Replikasi MySQL.