Linux MySQL基於日誌主從複製配置

主從複製的過程:mysql

一、master將改變記錄到binlogsql

二、slave將master的binlog拷貝到中繼日誌replay log中數據庫

三、slave重作replay log中的操做,將其更新成本身的數據服務器

 

1、master 主庫配置ide

一、爲其餘slave建立一個能夠訪問master的用戶,用戶名爲repl,密碼爲123456,受權ip:192.168.1.%日誌

mysql> create user repl@'192.168.1.%' identifed by '123456';

二、爲新建立的用戶repl受權code

mysql> grant replication slave on *.* to repl@'192.168.1.%';

三、修改my.cnf配置orm

[mysqld]
# 最好已master的ip地址尾數
server-id = 100

# 開啓binlog
log-bin = mysql-bin

# binlog存放位置(可自定)
log-bin = /usr/local/var/log/mysql/mysql-bin.log

# 忽略Master上的數據庫,被忽略的將不會被複制 (可選)
binlog_ignore_db = mysql
binlog_ignore_db = information_schema
binlog_ignore_db = preformance_schema

四、使用mysqldump導出master的數據庫,若是主從數據庫的版本不一致,就不要備份系統庫了。server

user> mysqldump --single-transation --master-data --triggers --routines --all-databases -uroot -p >> all.sql

 

 

2、slave 從庫配置ip

一、導入master的數據庫備份文件。

user> mysql -uroot -p > all.sql;

二、修改my.cnf配置

[mysqld]
# 最好已master的ip地址尾數
server-id = 101

# 開啓binlog
log-bin = mysql-bin

# binlog存放位置(可自定)
log-bin = /usr/local/var/log/mysql/mysql-bin.log

三、在slave上配置master的信息。其中master_log_file[日誌文件]和master_log_pos[日誌偏移量]在all.sql中;或者主庫中使用 mysql> show master status; 進行查看。

mysql> change master to master_host='192.168.1.100', //Master 服務器Ip
       master_port=3306,
       master_user='repl',
       master_password='123456', 
       master_log_file='master-bin.000001',//Master服務器產生的日誌
       master_log_pos=0;

四、查看slave上mysql的數據文件中是否有一個master.info,若是有打開後看到的就是上一步中輸入的內容。開啓slave功能

mysql> start slave;

五、查看從庫的狀態

mysql> show slave status\G

 

master和slave在修改my.cnf後都要將mysqld服務從新啓動。

相關文章
相關標籤/搜索