1.前提要求:需要建立多個Mysql例項(可以在一個虛擬機器建立Mysql透過快照的方式建立多個虛擬機器)
2.配置主機
1.選擇一個mysql作為主機,並且配置/etc/my.cnf
檔案
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
log_bin
binlog-do-db=qj #要同步的資料庫名
binlog-ignore-db=mysql#一定不要複製的資料庫名
server-id=120#值要唯一,通常使用虛擬機器ip地址的最後一段
2.重啟mysql
systemctl restart mysql
如果上述的重啟命令不能用可以使用下面的
systemctl restart mysqld
3.登入MySQL並檢視狀態
show master status;
這裡先記下File,Position兩個欄位
3.配置從機
1.編輯從機的/etc/my.cnf
檔案
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
server-id=121#唯一值
2.刪除auto.cnf
檔案
rm -f /data/mysql/auto.cnf
3.重啟mysql
systemctl restart mysql
如果上述重啟方法不行,可以使用以下方法
systemctl restart mysqld
4.登入從機進行配置
#1.停掉slave
mysql> stop slave;
#2.配置主機資訊:
#change master to master_host='主機ip地址',master_user='主機使用者
#名',master_password='主機
#密碼',master_log_file='主機日誌檔名',master_log_pos=日誌檔案的位置;
mysql>change master to
master_host='192.168.211.120',master_user='root',master_password='123456',master_log_file
='localhost-bin.000001',#上述記下來的file
master_log_pos=154;#上述記下來的position
#3.啟動slave
mysql>start slave;
#4.檢視從機狀態
mysql>show slave status \G;
重要:需要看到從機狀態中的Slave_IO_Running和Slave_SQL_Running都為Yes