主从数据库同步
主從數據庫同步
1.在主服務器master上配置開啟Binary log
1.因為我的MySQL5.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服務3.檢測配置效果
mysql> SHOW MASTER STATUS;2.在從服務器上配置開啟Relay log
1.同樣編輯文件my.cnf
server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-binservice mysql restart #同樣重啟3.配置兩個數據庫的關聯
1.切換到主,進入MySQL
mysql> create user repl; #創建用戶mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'從xxx.xxx.xxx.xx' IDENTIFIED BY 'mysql'; #給權限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;對應主的文件和主數據戶實例的ip地址
3.然后開啟同步
mysql> stop slave;mysql> show slave status \G;? 這里是原本MySQL5.65版本下的同步,后來發現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.’
? 發現是 由于 master 用的 mysql5.6 , binlog_checksum 默認設置的是 crc32。 如果slave用的 5.5 ,要將master的 binglog_checksum設置為 none。
后來直接裝了MySQL5.5版本,就直接成功了。主從數據庫版本應該保持一致,因為這是第一次嘗試,所以很多地方出錯。
4.結語
如果文章有錯還請大佬指出,本文是用來記錄學習過程,只做參考。
上述的服務器全部已經被本人關閉。
總結
- 上一篇: MySQL5.5的安装,连接和操作
- 下一篇: 鼻子是怎么整的