MySQL Replication

我们知道,MySQL数据库的二进制日志记录着每一个明确或者潜在可能导致数据库发生改变的sql语句,因此我们可以基于二进制日志来实现mysql的主从一致。而我们在此提到的mysql的复制的简单过程就是:

首先mysql的主服务器(Master)上有一个叫dump的线程,负责将二进制日志读取进来,发送给slave.

而后mysql的从服务器(Slave)上有个I/O线程 ,负责接收Master传送过来的二进制日志数据,并且将此写入到本地的中继日志中,此时会有一个SQL线程,每次中继日志读取一句sql语句, 并在从Slave上应用,以实现主从服务器的一致。

首先需要提供2台mysql版本一致的mysql服务器,在此选用的mysql-5.5.20,平台为RedHat5.4

一、安装mysql-5.5.20

# groupadd -r mysql

# useradd -g mysql -r -s /sbin/nologin –M mysql

//新建用户以安全方式运行进程

# chown -R mysql:mysql /mydata/data

# tar xf mysql-5.5.20-linux2.6-i686.tar.gz -C /usr/local

//将下载好的mysql软件解压安装

# cd /usr/local/

# ln -sv mysql-5.5.20-linux2.6-i686  mysql

# cd mysql

# chown -R mysql:mysql  .

# scripts/mysql_install_db --user=mysql --datadir=/mydata/mysql

//初始化mysql,此处使用的/mydata/mysql存放mysql的数据,建议将/mydata挂载至一个逻辑卷,方便数据备份

# chown -R root  .

# cd /usr/local/mysql

# cp support-files/my-large.cnf  /etc/my.cnf

#vim /etc/my.cnf

thread_concurrency = 2        //修改此项,我们的cpu为双核的

datadir = /mydata/data        //添加此项,指定数据存放的目录

# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

二:为使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,需如下操作

#vim/etc/man.config            //输出mysql的man手册至man命令的查找路径

MANPATH  /usr/local/mysql/man     //添加此行

# ln -sv /usr/local/mysql/include  /usr/include/mysql

//输出mysql的头文件至系统头文件路径/usr/include

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

//输出mysql的库文件给系统库查找路径

# ldconfig            //让系统重新载入系统库

#vim /etc/profile          //修改PATH环境变量,让系统可以直接使用mysql的相关命令

PATH=$PATH:/usr/local/mysql/bin      //添加此行

三:实现主从复制

master ip:192.168.1.10

slave ip:192.168.1.11

On Master :(在主服务器的操作)

#vim /etc/my.cnf    确保证如下选项:

server-id = 1   //主服务器的身份标识

log-bin=mysql-bin  //开启二进制日志

sync_binlog=1       //事务提交立即写入到二进制日志

innodb_flush_logs_at_trx_commit=1 //事务提交之时,立即将二进制日志写入磁盘

#mysql –uroot –p

mysql> grant replication client,replication slave on *.* to cclo@’192.168.1.%’ identified by ‘12345’;

//此处创建一个用户名为cclo,密码为12345的用户,其权限为client和replication

mysql> flush privileges;

mysql> show grants for cclo@’192.168.1.%’; //验证此用户的权限

On Slave:(在从服务器的操作)

#vim /etc/my.cnf

[mysqld]

server-id       = 11    // 数值只要保证和Master不同即可

#log-bin=mysql-bin     //slave的二进制日志一般用不到,暂时关闭

relay-log=relay-bin    //开启中继日志

relay-log-index=relay-bin.index

read_only=1            //此项为阻止普通用户写从服务器

skip_slave_start=1

//mysql服务关闭后,当服务开启时跳过自动启动主从复制(如需自动启动,此项略过)

#service mysqld restart

#mysql –uroot –p

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| MySQL-bin.000003 |      374 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

mysql> change master to master_host='192.168.1.10',master_user='cclo',master_password='12345',master_log_file='mysql-bin.000003',master_log_pos=374;

//指定Master的ip及复制的用户及二进制日志的位置

mysq> start slave;                //启动主从复制

mysql > show slave status;       //查询从服务器的工作属性,确保以下2项

Slave_IO_Runing: Yes

Slave_SQL_Runing: Yes        //确保此2项为Yes的状态

mysql 半同步 主主_MySQL主从,半同步,主主复制相关推荐

  1. mysql主从不同步怎么恢复_mysql主从不同步时,怎么恢复

    mysql主从不同步时,怎么恢复 Mysql的主从数据库没有同步 先上Master库: mysql>show processlist;   查看下进程是否Sleep太多.发现很正常. show  ...

  2. 主mysql删除从服务不同步_MySQL主从不同步解决

    由于binlog日志带多删除了几个后发现MySQL主从不同步 1.由于binlog日志带多删除了几个后发现MySQL主从不同步 mysql> show slave status\G; Slave ...

  3. mysql主主备份_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

    一.MySQL主从备份 为保证数据库的安全和效率,可以使用主从备份,当有写的操作可以在主服务器上操作,操作完之后备份到从服务器上,当有读操作时可以访问从服务器,这样在一定程度上保证了数据库的安全,当主 ...

  4. linux中mysql主主搭建_mysql 主从配置 主主配置

    MySQL 主从( MySQL Replication) ,主要用于 MySQL 的时时备份或者读写分离.在配置之前先做一下准备工作,配置两台 mysql 服务器,如果你的机器不能同时跑两台 Linu ...

  5. mysql备份-a是什么_MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

    一.MYSQL主从备份 为保证数据库的安全和效率,可以使用主从备份,当有写的操作可以在主服务器上操作,操作完之后备份到从服务器上,当有读操作时可以访问从服务器,这样在一定程度上保证了数据库的安全,当主 ...

  6. mysql 主辅_Mysql的实时同步 - 主辅同步

    Mysql的实时同步 - 主辅同步. 设置方法: 步一 设 A 主服务服 (192.168.1.2) 上 用户为 test, test123, 同步的数据库为test; B 辅服务服 (192.168 ...

  7. mysql主原理_mysql 主从配置实现原理

    MySQL 本身通过 show slave status 提供了 Seconds_Behind_Master ,用于衡量主备之间的复制延迟,但是 今天碰到了一个场景,发现 Seconds_Behind ...

  8. 阿里云mysql主从有延迟怎么办_MySQL主从数据库同步延迟问题解决-阿里云开发者社区...

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

  9. 阿里云mysql主从有延迟怎么办_MySQL主从数据库同步延迟问题解决

    MySQL主从数据库同步延迟问题 摘要:MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主 ...

  10. mysql主从复制延时性问题_MySQL主从同步延迟原因及解决办法

    MySQL主从延迟原因以及解决方案:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作(mysql5.6版本之前),主库对所有DDL和D ...

最新文章

  1. 2021年Java后端技术知识体系
  2. python保存代码_python入门(5)使用文件编辑器编写代码并保存执行
  3. 解决移动端touch事件与click冲突的问题
  4. servlet和jsp的转发与重定向代码以及区别
  5. [经验教程]iPhone苹果手机iOS系统App Store怎么下载手机APP到苹果iPhone手机?
  6. AutoCAD ObjectArx2010安装
  7. 对计算机组装和维护课的总结,计算机组装维护教学工作总结
  8. 银河麒麟安装Wine
  9. 乌克兰警方逮捕出售高达10亿被盗记录的黑客,或面临长达8年监禁
  10. 比伯女友首谈私生子事件 挺男友:事实胜于诡辩
  11. java小程序-画一幅海底世界的图
  12. 用友T+财务软件数据库——SQL生成含上级科目的标准化科目表
  13. Cisco NSF 与NSR 与GR
  14. LCP 2.分式简化
  15. mysql转换年月日_mysql日期转换和数字格式转换实例
  16. 利用Python自动爬取全国30+城市地铁图数据
  17. 轻快pdf阅读器app如何删除pdf文档页面
  18. 通用汽车投资20亿美元增加电动汽车产量;名创优品在巴黎开设首家门店 | 美通企业日报
  19. win7系统自动休眠设置
  20. 我活着从柬埔寨技术“魔窟”逃出来了…

热门文章

  1. 大盘点: KubeCon EU 2019 应用管理领域的新看点!
  2. AI+服务 阿里巴巴如何做智能服务转型?
  3. 注释那些事儿:前端代码质量系列文章(一)
  4. 腾讯Techo开发者大会揭晓云存储发展趋向:高性能、高可用、高性价比
  5. 云数据库精华问答 | 云数据库与其他数据库的关系
  6. Docker 系列学习文章 | 什么是容器云?
  7. potplayer 多个进程_创建守护进程的步骤
  8. mysql锁表更新_Mysql InnoDB 数据更新导致锁表
  9. 吴老师用计算机输入一份稿件,分数乘除法易错题复习1.pdf
  10. php模糊搜索慢怎么办,MySQL中文模糊检索问题的解决方法_php