主从数据库同步
主從數(shù)據(jù)庫同步
1.在主服務(wù)器master上配置開啟Binary log
1.因?yàn)槲业腗ySQL5.5是rpm安裝的所以在/etc/文件夾下是沒有my.cnf文件的,只能到/usr/share/mysql/文件夾把文件my-medium.cnf拷貝到/etc/文件夾下并改名為my.cnf.
2.編輯文件
vim /etc/my.cnf #編輯文件#在[mysqld]下面添加 server-id=1 log-bin=master-bin log-bin-index=master-bin.indexservice mysql restart #然后重啟sql服務(wù)3.檢測(cè)配置效果
mysql> SHOW MASTER STATUS;2.在從服務(wù)器上配置開啟Relay log
1.同樣編輯文件my.cnf
server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-binservice mysql restart #同樣重啟3.配置兩個(gè)數(shù)據(jù)庫的關(guān)聯(lián)
1.切換到主,進(jìn)入MySQL
mysql> create user repl; #創(chuàng)建用戶mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'從xxx.xxx.xxx.xx' IDENTIFIED BY 'mysql'; #給權(quán)限mysql> flush privileges; #刷新2.切換到從,
mysql> change master to master_host='主xxx.xxx.xxx.xx',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=0;對(duì)應(yīng)主的文件和主數(shù)據(jù)戶實(shí)例的ip地址
3.然后開啟同步
mysql> stop slave;mysql> show slave status \G;? 這里是原本MySQL5.65版本下的同步,后來發(fā)現(xiàn)io異常 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Slave can not handle replication events with the checksum that master is configured to log; the first event ‘master-bin.000001’ at 4, the last event read from ‘/master-bin.000001’ at 120, the last byte read from ‘/master-bin.000001’ at 120.’
? 發(fā)現(xiàn)是 由于 master 用的 mysql5.6 , binlog_checksum 默認(rèn)設(shè)置的是 crc32。 如果slave用的 5.5 ,要將master的 binglog_checksum設(shè)置為 none。
后來直接裝了MySQL5.5版本,就直接成功了。主從數(shù)據(jù)庫版本應(yīng)該保持一致,因?yàn)檫@是第一次嘗試,所以很多地方出錯(cuò)。
4.結(jié)語
如果文章有錯(cuò)還請(qǐng)大佬指出,本文是用來記錄學(xué)習(xí)過程,只做參考。
上述的服務(wù)器全部已經(jīng)被本人關(guān)閉。
總結(jié)
- 上一篇: MySQL5.5的安装,连接和操作
- 下一篇: MySQL语句学习