Mysql数据库主从同步

描述:MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服 务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。

前提:两台数据库服务器系统一致,mysql版本一致。可减少其他问题的可能性

名称

别名

ip地址

用途

服务器主库

Master

192.168.8.238

数据库等服务正常运行

服务器从库

Slave

192.168.8.239

备份主服务器的数据库mysql

实验之前,一定要保证两服务器之间互相可以通讯,否则也无法实现主从备份。

在主服务器Master:

1. 修改mysql数据库cnf文件,/etc/my.cnf

server-id = 1                     //数字1,不固定,只需唯一即可。

log-bin=mysql-bin             日志存储格式,  表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;

innodb_flush_log_at_trx_commit=1

sync_binlog=1                       //数字1可以自定义,只要唯一即可。

binlog-do-db=wordpress              //是表示只备份wordpress,表示需要记录进制日志的数据库。如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项

binlog_ignore_db=mysql                //表示忽略备份mysql. 表示不需要记录二进制日志的数据库。如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项,多行显示

不加binlog-do-db和binlog_ignore_db,那就表示备份全部数据库

2. 然后重启MySQL:

[root@localhost ~]# service mysqld restart

Shutting down MySQL. SUCCESS!

Starting MySQL.. SUCCESS!

[root@localhost ~]#

3. 登录Master服务器,在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限。192.168.8.239是从服务器的ip地址。赋予从库权限帐号,允许用户在主库上读取日志

mysql –uroo –p

mysql> create user backup@192.168.8.239 identified by 'Per@f0ect*';

mysql> grant replication slave on *.* to backup@192.168.8.239 identified by 'Per@f0ect*';  ( 说明replication slave 复制需要的权限,监视和管理复制账号权限)

mysql> show master status;

得到日志文件名为mysql-bin.000010   偏移量为381

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

配置从服务器Slave

4. 修改mysql数据库conf文件,/etc/my.conf

vi /etc/my.cnf

5. 重启从服务器的mysql数据库

6. 对从数据库进行配置

master_host:主服务器的IP,

master_user:配置主服务器建立的用户名;

master_password:配置主服务器建立的用户密码,

master_port: 主服务器的mysql端口,如果未修改,即默认的3306,

master_log_file:主服务器查看的日志文件名,

master_log_pos:主服务器查看的偏移量     //以下命令中381 无单引号

mysql> change master to master_host='192.168.8.238',master_user='backup',master_password='Per@f0ect*',master_port=3306,master_log_file='mysql-bin.000004',master_log_pos=381;

7. 启动slave进程

mysql> start slave;    启动从服务器复制功能

mysql> show slave status;

查看slave线程状态:

mysql> show slave status\G

两行同时为yes,说明配置成功

mysql> show processlist\G;

进一步验证配置的正确性,如果不是yes,需检查配置。

8. 至此主从服务器已配置完成。下面验证:

① 主服务器上新建数据库master

② 在从服务器上实时查看,发现已同步到从服务器数据库。

如果主数据库服务器已经存在用户数据,那么再进行主从复制时,需要做以下处理。

主数据库服务器:

(1) 主数据库锁表操作,不让数据再进行写入动作

mysql>flush tables with read lock;

(2) 查看主数据库的状态

mysql>show master status;

记下File以及Position值,以备从服务器使用。

(3) 把主服务器的数据文件复制到从服务器,最好先用tar归档压缩处理以下

(4) 取消主数据库锁定。

mysql >unlock tables;

从数据库服务器:

mysql>slave stop;

mysql>change master to master_host='192.168.8.239',master_user='backup',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=578

mysql>slave start;

其他说明:

主服务器my.cnf

binlog-do-db= 需要备份的数据库名,可写多行。

binlog-ignore-db= 不需要备份的数据库名,可写多行。

从服务器my.cnf

replicate-do-db=test  需要备份的数据库名,可写多行。表示需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选项

replicate-ignore-db=mysql  忽略的数据库 表示不需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db=mysql选项

log-slave-updates 配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步

二进制日志清除

mysql maser-slave相关推荐

  1. mysql设置slave复制_mysql5.5建立主从复制(setupmaster-slavereplication)_MySQL

    bitsCN.com mysql5.5建立主从复制(set up master-slave replication) 1.注意事项: (1)主从服务器版本要一致 (2)要修改root密码,切不可用初始 ...

  2. mysql slave lock 跳过_处理 MySQL 因为 SLAVE 崩溃导致需要手动跳过 GTID 的问题 | 关于 GTID...

    今天发生了与之前某篇博客相似的问题,有同学在不同步的 binlog 库中使用语句 database.table 命令对表进行 drop 导致 master 丢弃该表但是从库并未能同步到该操作.并且后续 ...

  3. Mysql复制-Slave库设置复制延迟

    mysql> stop slave; mysql> change master to master_delay=10;#单位是秒 mysql> start slave; mysql& ...

  4. mysql master slave 灾备技术_MySQL灾备恢复在线主从复制变成主主复制及多源复制【转】...

    生产主主复制(AB),和灾备主从复制(B--->C).当生产出现问题时,数据写入切换到灾备数据库,待生产恢复后,将灾备回写到生产.步骤如下: 1.灾备与生产其中一台建立主主复制,这样生产的那台就 ...

  5. MySQL主从- slave跳过错误

    目录 一.跳过指定数量的事务 二.修改mysql的配置文件 三.模拟错误场景 mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续 跳过错误有两种 ...

  6. mysql 查看slave状态_解读show slave status 命令判断MySQL复制同步状态

    解读show slave status 命令判断MySQL复制同步状态 1. show slave status命令可以显示主从同步的状态 MySQL> show slave status \G ...

  7. MySQL show slave statusG 输出详解

    MySQL show slave status\G 输出详解 db02 [(none)]>show slave status\G *************************** 1. r ...

  8. mysql 查看slave状态_Mysql master/slave测试过程

    1.测试环境:gt;gt;Master:物理机,Debian(testing) + mysql5.0 + ip:192.168.40.223gt;gt;slave: 虚拟机,CentOS(4.0) + ...

  9. mysql master slave区别_mysql master/slave 使用感受

    使用mysql的master/slave部署已经有一段时间.这种架构不能从根本上弥补数据结构设计失误带来的性能问题.聊胜于无. master/slave模式中,数据同步非常快.而master/slav ...

  10. mysql 查看slave状态_查看mysql主从配置的状态及修正 slave不启动问题

    .查看master的状态 show master status;  //Position不应该为0 show processlist; //state状态应该为Has sent all binlog ...

最新文章

  1. ceph-dencoder工具使用详解
  2. permutation_importance是什么?背后的思想又是什么?是如何使用permutation_importance计算特征重要度的?
  3. matlab for循环_从零开始的matlab学习笔记——(5)循环
  4. java注释详解--javadoc注释
  5. 洛谷 P1082 同余方程(同余exgcd)
  6. Python深度学习之分类模型示例,MNIST数据集手写数字识别
  7. poj 1190 生日蛋糕 难|供自己瞻仰
  8. SIP中的SDP offer/answer交换初探
  9. 给单片机焼写程序需要什么东西_单片机怎么烧写程序
  10. HttpEntity.EMPTY属性代码示例
  11. 【渝粤教育】国家开放大学2018年秋季 3818-22T燃气工程施工 参考试题
  12. java线程同步的实现_【Java多线程系列三】实现线程同步的方法
  13. 扫地机器人的特点描写_扫地机器人的特点是什么
  14. DTCoreText
  15. 微信公众号可以开店吗?
  16. 【UOJ】#37. 【清华集训2014】主旋律
  17. 中缀表达式求值,中缀表达式转化为二叉树
  18. NOIP2016普及组T3(海港)题解
  19. DCDC基础(10)-- BUCK电路的CCM和DCM模式
  20. godaddy php5.ini,Godaddy主机修改上传文件限制

热门文章

  1. 本周白银市场再刮超级旋风
  2. 抓虾的告别信RSS即将退出舞台
  3. 数据库中文字段按拼音排序
  4. 神经架构搜索(NAS)2020最新综述:挑战与解决方案
  5. 计算机 833学校,计算机专业考研院校排名分析
  6. android 手机 apk安装失败对应码
  7. starrocker关联hive外表
  8. 如何给网站添加IE浏览器升级提示
  9. 开始学ASP.NET了~·~得发奋啊……
  10. python百度地图api经纬度_详解用Python调用百度地图正/逆地理编码API