#打#號之註解為原先已經有設定故註記起來。
[Master]
vim /etc/my.cnf
#======
[mysqld]
bind-address=10.10.0.1
server-id=1
binlog-ignore-db = "mysql"
binlog-format = mixed
log-bin=mysql-bin
#datadir=/var/lib/mysql
#innodb_flush_log_at_trx_commit=1
sync_binlog=1
#====
systemctl restart mysqld
#====
建立一個用作同步的帳號, 以下會建立帳號 replication, 密碼是 P@ssw0rd, Slave 的 ip 為10.10.0.2
CREATE USER replication@10.10.0.2;
GRANT REPLICATION SLAVE ON *.* TO replication@10.10.0.2 IDENTIFIED BY 'P@ssw0rd';
flush privileges;
SHOW MASTER STATUS;
exit;
#========================
然後要用 mysqldump 匯出資料庫的 .sql 檔, 要放到 Slave 匯入:
mysqldump –skip-lock-tables –all-databases –user=root –password –master-data > masterdatabase.sql
#========================
[Slave]
#=======
[mysqld]
server-id=2
binlog-format=mixed
log_bin=mysql-bin
relay-log=mysql-relay-bin
log-slave-updates=1
read-only=1
#====
systemctl restart mysqld
#====
用 root 登入 MySQL, 建立資料庫
create database database-name;
exit;
#============
設定SLAVE
#===========
MariaDB> CHANGE MASTER TO MASTER_HOST='10.10.0.1',MASTER_USER='replication',MASTER_PASSWORD='P@ssw0rd', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=500;
MariaDB> START SLAVE;
MariaDB> SHOW SLAVE STATUS \G;
現在 Slave 已經可以同步, 要查詢 Slave 的狀態, 可以登入 MySQL 用以下指令檢查:
START SLAVE;
SHOW SLAVE STATUS \G;
=====================
沒有留言:
張貼留言