当前位置:Gxlcms > 数据库问题 > mysql主从复制

mysql主从复制

时间:2021-07-01 10:21:17 帮助过:22人阅读

技术分享

 

我的环境是利用了两个数据库实例,关于数据库实例我的前几篇文章写了。下面这个只是参考作用,需要懂其原理才能理解下面配置,要不然会出错,出错可以私聊我。

1、打开主库bin-log
log-bin = /data/3306/mysql-bin
2、确保server-id不一样
3、检查一下,grep是显示不出来的
[root@weiwei 3306]# egrep "log-bin|server-id" /data/3306/my.cnf 
[mysqld]
log-bin = /data/3306/mysql-bin
server-id = 1
4、查看log-bin是否开启
show variables like ‘log_bin‘;

5、建立用于从库复制的账号rep,在主库上授权

grant replication slave on *.* to ‘rep‘@‘10.0.0.%‘ identified by ‘oldboy123‘;

flush privileges;


6、在主库上做备份,下面是给主库加个读锁,不让用户写数据了,,,这个也可以不锁,这个是官方给出的方案,也可以在mysqldump的时候加上-x自动锁
flush table with read lock;

7、另开一个窗口,做备份,另外在备份之前查看一下文件和位置
mysql>show master status;        从此时的点开始备份,要记住,如果此时没有看这个,那么就在备份的时候加上master-data=1或者2,区别就是将来在change master to时要不要写文件和位置点,这个可以看上面的图
mysql>show master logs;

mysqldump -uroot -p123 -S /data/3306/mysql.sock -A -B --events|gzip  >/opt/rep.sql.gz    此处-A是所有数据,,-B是包含创库语句


8、解锁
unlock tables;

9、将主库备份出来的数据传至从库,然后导入从库
mysql -uroot -p123 -S /data/3307/mysql.sock </opt/rep.sql

10、登录从库,写入配置
CHANGE MASTER TO
MASTER_HOST=‘10.0.0.7‘,
MASTER_POST=3306,
MASTER_USER=‘rep‘,
MASTER_PASSWORD=‘123‘,
MASTER_LOG_FILE=‘mysql-bin.000003‘,
MASTER_LOG_POS=333;


在从库的/data/3307的目录下会存再master.info,保存着登录主库的相关信息

11、在从库中开启同步
start slave;

查看两个线程是否工作
show slave status\G

  

mysql主从复制

标签:http   sla   replica   开启   理解   nts   文章   file   egrep   

人气教程排行