Mysql

Mysql主从服务搭建

Mysql主从服务搭建


1. 主库开启binlog日志

    在配置文件中进行配置:

    log-bin=mysql-bin

    binlog_format=mixed

    server-id = 1

2. 创建一个用于主从复制的用户

Create user `slave`@`%` identified by “root”;

Grant all on *.* to `slave`@`%` with grant option;

3. 从库开启中继日志,通过show variables like “%relay%”;查看

4. 配置主从

master_host 是主服务的ip
master_port 是主服务的端口
master_user 是主服务的用户名称
master_password 是主服务的用户的密码
master_log_file 主服务的file文件
master_log_pos 主服务的Position

查看master_log_file和master_log_pos  用命令:SHOW  master status
change master to master_host='192.168.29.102',master_port=3306,master_user='slave',master_password='slave',master_log_file='mysqlbin.000002',master_log_pos=155;

启动从节点

start slave;

注意事项:

1.服务uuid不可重复

2.Mysql server_id不可重复

3.主库防火墙需要关闭,如果是服务器请开启安全组端口

4.主从用户权限


 关于主从的命令

Create user `slave`@`%` identified by “root”;  --创建一个用户
Grant all on *.* to `slave`@`%` with grant option;  --给予用户权限

Show master status; --查看当前使用的binlog
Show variables like “%relay%”;查看中继日志信息

change master to master_host=‘192.168.29.102’,master_port=3306,master_user=‘slave’,master_password=‘root’,master_log_file=‘mysqlbin.000002’,master_log_pos=155;--配置主从

Start slave; --开启主从
Show slave  status;查看主从状态
Stop slave;关闭主从


对于我们来说其中的信息主要是关注

命令:show slave status\G 查看这两个配置都为Yes的话就OK了

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这个过程遇到的问题可能有


Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

这个意思是主和从服务的service id不能相同,解决办法修改my.conf server-id即可



主从数据一致性问题:

percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等


1. pt-table-checksum 负责检测MySQL主从数据一致性

2. pt-table-sync负责挡住从数据不一致时修复数据,让他们保存数据的一致性

3. pt-heartbeat 负责监控MySQL主从同步延迟


主从延迟问题处理

在percona toolkit 产品中也提供了可以对于MySQL主从延时检查的工具pt-heartbeat, pt-heartbeat 的工作原理是通过使用时间戳方式在主库上更新特定表,然后再从库上读取呗更新的时间戳然后与本地系统时间对比来得出其延迟。


主从复制备份-热备

xtrabackup是Percona公司的开源项目,用以实现类似ImnoDB官方的热备份工具ImmoDB Hot Backup的功能,它能非常快速地备份与恢复MySQL数据库。


(0)
分享:

本文由:xiaoshu168.com 作者:xiaoshu发表,转载请注明来源!

相关阅读