首页 > 代码库 > mysql主从复制

mysql主从复制

实验环境

master  172.16.31.30

slave   172.16.31.31

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 创建二进制日志目录别切修改属组属组

  

# 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:

 

# hostname slave.cc.com
#vim /etc/hosts
172.16.8.8  master.cc.com
172.16.8.9  slave.cc.com


4 在主mysql上配置具有复制权限的账号

   
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;


 

wKioL1QcRqayGiMmAAD7zkh398w164.png



然后再主服务器上创建表,从服务器上会立马复制过来。


本文出自 “Linux” 博客,转载请与作者联系!

mysql主从复制