搭建主从同步需要在两个电脑上分别安装 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

环境介绍:

cat  /etc/redhat-release

uname -a

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

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

cat tmp.log > /etc/my.cnf

编辑 /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

以上参数介绍:

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

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

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

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

flush privileges;

检查自己刚才的操作

select user,host from mysql.user;

show grants for yuci@'%';

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

flush table with read lock;

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

show master status;

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

mysql -uyuci -p123456 -h192.168.133.128

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

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

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

scp test.sql root@192.168.133.132:/root

yes

回到主库,解锁

unlock tables;

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

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

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

vim /etc/my.cnf

server-id       = 2

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

/etc/init.d/mysqld restart

登陆 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;

以上参数配置

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;

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

show slave status\G;

关键查看以下参数

Slave_IO_State: Waiting for master to send event

Slave_IO_Running: Yes           #主从之间的网络

Slave_SQL_Running: Yes        #主从之间的数据

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

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

create database haha;

在主库中查看

show databases;

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

show databases;

zhao

转载于:https://blog.51cto.com/aby028/1892939

MySQL-5.5.33主从复制相关推荐

  1. Can‘t connect to local MySQL server through socket ‘/home/mysql/mysql-5.6.33/mysql.sock

    登录MySQL的时候出现这个问题 原因是在 tmp目录下没有mysql.sock这个文件 我们需要创建一个软连接到该目录下 [root@test /]# mysql -u root -p Enter ...

  2. Window环境下配置MySQL 5.6的主从复制、备份恢复

    Window环境下配置MySQL 5.6的主从复制.备份恢复 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 ...

  3. Innobackupex实现mysql在线搭建master-slave主从复制

    oracle.mysql.sqlserver这种使用物理备份做master-slave主从的,原理都是一样,主库不需要停机,主库在线做好物理备份后,恢复物理备份到从库,从库以主库物理备份开始的这个时刻 ...

  4. MySQL三大日志及主从复制的原理

    MySQL三大日志及主从复制的原理 文章目录 MySQL三大日志及主从复制的原理 一.binlog 1.概念 2.分类 3.binlog使用场景 4.binlog刷盘时机 5.binlog日志格式 二 ...

  5. mysql 5.7 多线程主从复制_Mysql 5.7从节点配置多线程主从复制的方法详解

    前言 Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只有 ...

  6. window mysql 同步复制_Window环境下配置MySQL 5.6的主从复制、备份恢复

    Window环境下配置MySQL 5.6的主从复制.备份恢复 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 ...

  7. mysql配置主从复制和mysql多实例配置主从复制

    mysql数据库主从复制 文章目录 mysql数据库主从复制 1:简介 2:主从形式 3:主从复制原理 4.1 确保主从数据库里的数据都要一样 4.2在主数据库里创建一个同步账号授权给从数据库使用 4 ...

  8. Ubuntu 13.04中源码方式安装MySQL 5.5.33

    转载:http://lssrc.com/archives/385 环境:Ubuntu 13.04 数据库:MySQL 5.5.33 1.下载MySQL 5.5.33源码,地址http://dev.my ...

  9. MySQL讲义第 33 讲——select 查询之静态交叉表查询

    MySQL讲义第 33 讲--select 查询之静态交叉表查询 文章目录 MySQL讲义第 33 讲--select 查询之静态交叉表查询 一.数据准备 二.交叉表的形式 三.静态交叉表的实现 1. ...

  10. mysql集群(主从复制)实操

    mysql集群(主从复制)实操 1.环境准备 1.准备5台全新的机器 ​ 192.168.31.23 master1 ​ 192.168.31.24 master2 ​ 192.168.31.89 s ...

最新文章

  1. C#中使用DirectX编程
  2. 嫦娥五号样本研究登上Science:比阿波罗号样本“年轻”10亿年,填补了月球年龄研究空白期...
  3. mjpg-streamer在Ubuntu下编译,运行
  4. Leetcode 232. 用栈实现队列 解题思路及C++实现
  5. 树的高度 递归法和非递归法
  6. 存储新技术之“连续数据保护(CDP)”
  7. Selenium自动化测试-浏览器基本操作
  8. ftp服务器app配置文件,Ubuntu FTP服务器配置与应用
  9. 【HDU4507】恨7不成妻(数位DP)
  10. bzoj千题计划254:bzoj2286: [Sdoi2011]消耗战
  11. 两个组件对不齐(css样式问题)
  12. 切莫止步于 TOGAF® 认证
  13. 最新Via轻插件下载
  14. 在html中打字如何变大,怎么把网页的字变大?教你网页操作实用技巧【步骤详解】...
  15. python列表索引超出范围 等于啥_Python列表错误,列表索引超出范围
  16. 官方纯净版windows10教育版安装密钥极其下载地址
  17. 详细解说RAID6结构及原理
  18. Core.bitwise_and()函数解释
  19. QMetaMethod::invoke: Unable to invoke methods with return values in queued connections
  20. solr直接对pdf、word等建索引

热门文章

  1. 几个WMS的问题处理
  2. 光伏产业的发展推动太阳能组件技术进步
  3. Linux下find用法总结
  4. 0330Cache Buffers chains与共享模式疑问
  5. 让我们的标签语义化成为一种习惯好处多多
  6. fstream实现文件复制(并将文件名小写改成大写)
  7. SQL Server 2008如何导出带数据的脚本文件
  8. ASP.NET3.5 企业级项目开发 -- 第二章 数据访问层(DAL)的开发
  9. McAfee:较之中国美国黑客才最令人害怕
  10. 【转】SMIL基础教程(1)