MySQL 主从复制资料集合
发布时间:2022-04-06 11:13:54 所属栏目:MySql教程 来源:互联网
导读:MySQL 主从复制资料汇总: 该过程的第一部分就是master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提
MySQL 主从复制资料汇总: 该过程的第一部分就是master记录二进制日志。在每个事务更新数据完成之前,master在二日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。 下一步就是slave将master的binary log拷贝到它自己的中继日志。首先,slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接,然后开始binlog dump process。Binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。 mysql主从同步应用场景 (1):数据分布 (2):负载均衡 (3):备份 (4):高可用和容错 搭建mysql主从的环境要求 主从系统要保持一致:包括数据库版本,操作系统版本,磁盘IO磁盘容量,网络带宽等。 [root@data02 ~]# cat /etc/redhat-release CentOS release 6.2 (Final) [root@data02 ~]# 主库master 从库slave OS系统版本 CentOS release 6.2 (Final) CentOS release 6.2 (Final) 数据库版本 5.6.12-log 5.6.12-log 磁盘容量 50G 30G 主机ip地址 192.168.52.129 192.168.52.130 端口 3306 3306 内存 1G 1G 开始搭建mysql主从复制 建立复制账号 GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*TO repl@'192.168.52.130' IDENTIFIED BY 'repl_1234'; 手动同步数据 因为当开始搭建的时候,主库上已经有了数据,所以要先把主库已经存在的数据先手动同步迁移到从库上面去。搭建过程中,禁止在主库从库上进行任何对数据库的ddl、dml等数据操作。 这里可以用mysqldump也可以用xtrabackup导出主库上面的数据: (4.2.1):xtrabackup方式 在主库上192.168.52.129上面进行数据备份,备份命令,要添加--safe-slave-backup参数: innobackupex --user=backup--password="123456" --host=192.168.52.129 --socket=/tmp/mysql.sock--defaults-file=/etc/my.cnf /data/backups/mysql/repl/backup_slave --parallel=3--safe-slave-backup --no-timestamp 去备份目录/data/backups/mysql/repl/backup_slave查看备份时候的主库二进制信息,需要根据这个二进制信息来进行数据同步,如下所示: [root@data01 test]# cd/data/backups/mysql/repl/backup_slave [root@data01 backup_slave]# more xtrabackup_binlog_info mysql-bin.000147 120 [root@data01 backup_slave]# 压缩备份文件并且传输到从库192.168.52.130上面: tar -zcvf backup_slave.tar.gz backup_slave/ scp backup_slave.tar.gz192.168.52.130:/tmp/ (4.2.2)mysqldump方式 在主库上192.168.52.129上做基于主库做数据备份 /usr/local/mysql/bin/mysqldump -ubackup--password=123456 --host=192.168.52.129 --single-transaction --flush-logs --master-data=2 --add-drop-table--create-option --quick --extended-insert=false --set-charset --disable-keys -A> /tmp/alldb.sql 压缩备份文件,传输到从库192.168.52.130上面去。 gzip /tmp/alldb.sql scp /tmp/alldb.sql.gz 192.168.52.130:/tmp/ 配置master库(192.168.52.129) Vim /etc/my.cnf server-id=129 # Server ID log-bin =/home/data/mysql/binlog/mysql-bin binlog-ignore-db=mysql # No sync databases binlog-ignore-db=test # No sync databases binlog-ignore-db=information_schema # No sync databases binlog-ignore-db=performance_schema binlog-do-db=user_db (编辑:锡盟站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐