環(huán)境:
master:192.168.83.157
slave:? ? ?192.168.83.158
主master:
1.創(chuàng)建數(shù)據(jù)庫
create database demo;
2.修改配置文件/etc/my.cof:
[mysqld]
log-bin=/var/log/mysql/mysql--bin????#日志文件名稱
binlog-format=ROW? ? ? ? ? ? ? ? ? ? ? #二進(jìn)制日志格式
server-id=157? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#各個(gè)服務(wù)器的id要求不一樣,一般用主機(jī)IP地址最后幾位
2.創(chuàng)建日志目錄并授權(quán)
mkdir /var/log/mysql/
chown mysql.mysql /var/log/mysql
3.配置從服務(wù)器登錄主服務(wù)器的賬號(hào)授權(quán)
grant replication slave on *.* to 'root'@'192.168.83.153? ? ' identified by 'qwe123!@#MJ';
4.重啟主服務(wù)器
systemctl restart mysqld.service
#查看狀態(tài),如下圖
mysql> show master status;

5.授權(quán)遠(yuǎn)程登錄
grant all privileges on *.* to 'root'@'%' identified by 'qwe123!@#MJ' with grant option;
slave從:
如果master中已經(jīng)存在數(shù)據(jù),那么先對(duì)master中的數(shù)據(jù)進(jìn)行備份,在slave中進(jìn)行還原具體步驟如下
#1.在master中進(jìn)行備份,并將備份發(fā)送到slave
mysqldump -uroot -p 數(shù)據(jù)庫名稱[demo] > /root/備份文件名稱[demo.sql]
#2.將demo.sql發(fā)送到slave
scp /root/demo.sql root@192.168.83.158:/root/
#3.在slave中進(jìn)行還原
mysql>source demo.sql;
1.修改配置文件 my.cnf
binlog-format=ROW
server-id=158
2.重啟
systemctl restart mysqld.service
3.登錄數(shù)據(jù)庫,
mysql -uroot -p
mysql>change master to master_host='192.168.83.153',master_user='root',master_password='qwe123!@#MJ',master_port=3306,master_log_file='錨點(diǎn)一',master_log_pos=錨點(diǎn)二;
#錨點(diǎn)一:在master服務(wù)器使用show master status查看,看上面的圖中File字段
#錨點(diǎn)二:同上,偏移量,上圖中Position字段
?
#啟動(dòng)線程
mysql> start slave;
#查看狀態(tài)
show slave status\G;?
?

這里主要看標(biāo)紅的字段,?信息和之前配置的是否相同。
?Slave_IO_Running和 Slave_SQL_Running兩個(gè)線程都必須是yes,就表示成功。
在這個(gè)過程中我所遇到的問題,http://www.itdecent.cn/writer#/notebooks/47777866/notes/82207620