--------------前提說明:
如果主庫是之前存在的,先備份,在從伺服器上邊建立一個和主庫一模一樣的資料庫,并且把主庫原有的資料搬過來
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; (主庫資訊)