記一次centos 7下 Mysql主從複製筆記


--------------前提說明:
如果主庫是之前存在的,先備份,在從服務器上邊新建一個和主庫一模一樣的數據庫,並且把主庫原有的數據搬過來

192.168.174.128    主庫 (centos 7)
192.168.174.131    從庫  (centos 7)

配置文件的位置: vi /etc/my.cnf


------------------  主庫  ---------
server-id = 1        # 節點ID,確保唯一
log-bin = mysql-bin     #開啓mysql的binlog日誌功能
sync_binlog = 1         #控制數據庫的binlog刷到磁盤上去 , 0 不控制,性能最好,1每次事物提交都會刷到日誌文件中,性能最差,最安全
binlog_format = mixed   #binlog日誌格式,mysql默認採用statement,建議使用mixed
expire_logs_days = 7                           #binlog過期清理時間
max_binlog_size = 100m                    #binlog每個日誌文件大小
binlog_cache_size = 4m                        #binlog緩存大小
binlog_do_db = user                           # 要同步的數據庫,多個複製這句話,寫多行
max_binlog_cache_size= 512m              #最大binlog緩存大
binlog-ignore-db=mysql #不生成日誌文件的數據庫,多個忽略數據庫可以用逗號拼接,或者 複製這句話,寫多行

auto-increment-offset = 1     # 自增值的偏移量
auto-increment-increment = 1  # 自增值的自增量
slave-skip-errors = all #跳過從庫錯誤


## 登陸主庫  創建用戶專門用來主從同步
CREATE USER cdn IDENTIFIED BY 'Admin@123';
grant replication slave on *.* to 'cdn'@'%'  identified by 'Admin@123';

# 查看主庫的狀態
show master status;
記住 File 和 Position(從庫會用到)
 


主庫上查看愚笨主庫連接的從庫
show slave hosts;

-----------  從庫 -------------
server_id = 2
log_bin = mysql-bin        #開啓日誌
binlog_format=MIXED        #日誌記錄的格式
max_binlog_size = 512M     #單個日誌文件最大
expire_logs_day = 3       #日誌有效期(天)
replicate_do_db = user     #是在slave上配置,指定slave要複製哪個庫,多個就複製本行
replicate-ignore-db=mysql,performance_schema,information_schema #是在slave上配置,指定slave要忽略哪個庫
relay_log_recovery = 1     #從庫建議開啓,有利於數據一致性
log_slave_updates = 1      #如果從庫還會用做主庫,建議開啓

#登陸從庫
stop slave;
change master to
master_host='192.168.174.128',
master_user='cdn',
master_password='Admin@123',
master_port=3306,
master_log_file='mysql-bin.000012', 
master_log_pos=154;
start slave;


 
查看同步狀態 show slave status\G
       主要看這兩項
      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes

------>>>>>>>>>>>>      Slave_IO_Running: No  -------
1、如果是虛擬機克隆,需要修改mysql的uuid,文件在位置   find -name auto.cnf
2、看日誌文件比那好是否與主庫一致:
master_log_file='mysql-bin.000012', (主庫的信息)
master_log_pos=154; (主庫信息)


-----------------------Slave_SQL_Running: No-----------------------------
1.程序可能在slave上進行了寫操作

2.也可能是slave機器重起後,事務回滾造成的.

一般是事務回滾造成的:
解決辦法:
stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave ;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章