MySQL-5.5.33主从复制

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

搭建主从同步需要在两个电脑上分别安装 MySQL ,我这里安装的是 CentOS6.7 64位,MySQL-5.5.33。

MySQL 是二进制包安装的:http://aby028.blog.51cto.com/5371905/1892818

两台的操作是一样的,要求能够登陆 mysql 数据库即可。

主从地址如下:

master:192.168.133.128

slave:192.168.133.132

ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -d: -f2

image

image

 

环境介绍:

cat  /etc/redhat-release

uname -a     

image

 

配置主库的 my.cnf 文件,为了方便操作过滤掉开头是 #,$  的行

cat /etc/my.cnf | grep -v ^# | grep -v ^$ > tmp.log

cat tmp.log > /etc/my.cnf

image

 

编辑 /etc/my.cnf 文件

server-id       = 1          

log-bin=mysql-bin    

#max_binlog_size=500M

#binlog-do-db=test

#binlog-ignore-db=test1

skip-name-resolve

lower_case_table_names=1

 

image

以上参数介绍:

server-id       = 1  #表示服务器ID,可以自定义,在主从中是唯一的且必须为数字

log-bin=mysql-bin      #表示启用mysql二进制日志,必须要启动,否则主从不会生效

#max_binlog_size=500M   #表示每个binlog文件最大500M,但一条记录不会写在两个日志中,所以日志有时会超500M

#binlog-do-db=test    #表示要同步的数据库名字,如果是多个数据库,在多加一行就可以

#binlog-ignore-db=test1   #表示不需要同步的数据库名字,如果是多个数据库,在多加一行就可以

skip-name-resolve      #忽略主机名的方式访问

lower_case_table_names=1     #忽略数据库表名大小写  

如果将 binlog-do-db=test ,binlog-ignore-db=test1   不写或是注释则表示为同步所有数据库,我这里就是同步所有数据库     

修改过 my.cnf 文件后需要重启 mysql 服务

/etc/init.d/mysqld restart

image

 

 

登陆主库,并创建一个账号并授权,专门用于主从同步

创建账号之后别忘记刷新权限

grant replication slave on *.* to yuci@'%' identified by '123456';

flush privileges;     

image

检查自己刚才的操作

select user,host from mysql.user;

show grants for yuci@'%';

image

 

进行锁表,锁表后将只能读取不能创建或插入任何信息

flush table with read lock;

image

 

查看 binlog 的文件名以及 pos 位置节点

show master status;     

image

 

在从库上用刚才创建的用户登陆主库,测试两台数据库是否连接通常

mysql -uyuci -p123456 -h192.168.133.128     

image

 

开一个远程界面,连接主库并将导出数据库。(保证之前的 mysql 登陆界面不要退出)    

在将新导出的 test.sql 文件通过 scp 传给从库

mysqldump -uroot -p123456 --events -A -B > /root/test.sql

scp test.sql root@192.168.133.132:/root

yes

image

 

回到主库,解锁

unlock tables;

image      

在从库上将刚才的 test.sql 文件导入到数据库

mysql -uroot -p123456 < /root/test.sql        

image

 

编辑从库上 my.cnf 文件,将 server-id 修改为 2

vim /etc/my.cnf

server-id       = 2       

image

 

修改了 my.cnf 文件,需要重启 mysql

/etc/init.d/mysqld restart       

image

 

登陆 mysql 配置从库的同步参数

CHANGE MASTER TO

MASTER_HOST='192.168.133.128',

MASTER_PORT=3306,

MASTER_USER='yuci',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=107;

image

以上参数配置

CHANGE MASTER TO

MASTER_HOST='192.168.133.128',            #表示主库的IP

MASTER_PORT=3306,          #表示主库的端口

MASTER_USER='yuci',        #表示主库上允许同步的用户

MASTER_PASSWORD='123456',     #表示同步用户的密码

MASTER_LOG_FILE='mysql-bin.000001',         #表示从哪个binlog文件开始同步

MASTER_LOG_POS=107;       #表示从binglong文件的哪个pos节点位置开始同步

 

在从库上执行 start slave 操作,IO连接

start slave;     

image

 

查看当前的状态,关键有以下几个内容

show slave status\G;

image

关键查看以下参数

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes           #主从之间的网络

Slave_SQL_Running: Yes        #主从之间的数据

Seconds_Behind_Master: 0     #从库落后主库的秒数

 

在主库中创建一个数据库,测试主从是否同步

create database haha;     

image

 

在主库中查看

show databases;

image

 

在从库中查看,主从同步成功

show databases;     

image

 

 

 

 

zhao

本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1892939

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
|
2月前
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
130 1
|
2月前
|
存储 关系型数据库 MySQL
MySQL主从复制原理和使用
本文介绍了MySQL主从复制的基本概念、原理及其实现方法,详细讲解了一主两从的架构设计,以及三种常见的复制模式(全同步、异步、半同步)的特点与适用场景。此外,文章还提供了Spring Boot环境下配置主从复制的具体代码示例,包括数据源配置、上下文切换、路由实现及切面编程等内容,帮助读者理解如何在实际项目中实现数据库的读写分离。
MySQL主从复制原理和使用
|
2月前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置
|
3月前
|
存储 关系型数据库 MySQL
分析MySQL主从复制中AUTO_INCREMENT值不一致的问题
通过对 `AUTO_INCREMENT`不一致问题的深入分析和合理应对措施的实施,可以有效地维护MySQL主从复制环境中数据的一致性和完整性,确保数据库系统的稳定性和可靠性。
117 6
|
3月前
|
存储 关系型数据库 MySQL
分析MySQL主从复制中AUTO_INCREMENT值不一致的问题
通过对 `AUTO_INCREMENT`不一致问题的深入分析和合理应对措施的实施,可以有效地维护MySQL主从复制环境中数据的一致性和完整性,确保数据库系统的稳定性和可靠性。
67 1
|
3月前
|
关系型数据库 MySQL Java
MySQL主从复制实现读写分离
MySQL主从复制(二进制日志)、 Sharding-JDBC实现读写分离
MySQL主从复制实现读写分离
|
4月前
|
SQL 关系型数据库 MySQL
说一下MySQL主从复制的原理?
【8月更文挑战第24天】说一下MySQL主从复制的原理?
65 0
|
4月前
|
存储 关系型数据库 MySQL
实战!MySQL主从复制一键搭建脚本分享
实战!MySQL主从复制一键搭建脚本分享
77 2
|
4月前
|
SQL 关系型数据库 MySQL
在Linux中,mysql 如何减少主从复制延迟?
在Linux中,mysql 如何减少主从复制延迟?