實驗環境mysql
master 172.16.31.30
sql
slave 172.16.31.31vim
1安全
# vim /etc/my.cnf log-bin=/binlog/mysql-bin //二進制日誌文件目錄 innodb_file_per_table=1 //innodb表空間獨立 server-id = 1 //從服務器不能跟此id重複 binlog-format=ROW //二進制日誌文件格式 log-slave-updates=ture //更新數據開啓 master-info-repository=TABLE //用於實如今崩潰時保證二進制及從服務器安全的功能; relay-log-info-repository=TABLE //用於實如今崩潰時保證二進制及從服務器安全的功能; sync-master-info=1 //開啓之可確保無信息丟失 slave-parallel-threads=2 //設定從服務器的SQL線程數;0表示關閉多線程複製功能 binlog-checksum=CRC32 //開啓複製有關的全部校驗功能 master-verify-checksum=1 //開啓複製有關的全部校驗功能 slave-sql-verify-checksum=1 //開啓複製有關的全部校驗功能 binlog-rows-query-log_events=1 //啓用了可用於在二進制日誌記錄事件相關的信息,可下降故障排除的複雜度; report-host=master.gulong.com report-port=3306
2 建立二進制日誌目錄別切修改屬組屬組
bash
# mkdir /binlog # chown -R mysql.mysql /binlog
3 配置主機名
服務器
master:
多線程
# hostname master.cc.com #vim /etc/host 172.16.8.8 master.cc.com 172.16.8.9 slave.cc.com
slave:
ide
# hostname slave.cc.com #vim /etc/hosts 172.16.8.8 master.cc.com 172.16.8.9 slave.cc.com
4 在主mysql上配置具備複製權限的帳號
spa
MariaDB [(none)]> grant replication slave,replication client on *.*to "admin"@'172.16.31.31' identified by '123456'; MariaDB [(none)]> flush privileges;
5,配置從mysql
線程
server-id = 3 relay-log=/relay/relay-bin vim /etc/my.cnf server-id = 3 relay-log=/relay/relay-bin //解釋參考上面 binlog-format=ROW log-slave-update=ture master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-threads=2 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1 report-port=3306 report-host=slave.gulong.com log-bin=/logbin/master-bin
6 建立中繼日誌,修改屬組屬主
# mkdir /relay # chown -R mysql.mysql /relay
7 在從mysql上使用主mysql建立的帳戶
MariaDB [(none)]> change master to master_host='172.16.31.31',master_user='admin',master_password='123456',master_use_gtid=current_pos;
而後再主服務器上建立表,從服務器上會立馬複製過來。