MySQL数据库服务器 主从配置

A B 为两台 MySQL 服务器,均开启二进制日志,数据库版本 MySQL 5.5
  一、服务器参数
  [A 服务器 192.168.1.100]
  server-id = 1
  binlog-do-db = test
  binlog-ignore-db = mysql
  replicate-do-db = test
  replicate-ignore-db = mysql
  sync-binlog = 1
  [B 服务器 192.168.1.101]
  server-id = 2
  binlog-do-db = test
  binlog-ignore-db = mysql
  replicate-do-db = test
  replicate-ignore-db = mysql
  sync-binlog = 1
  重启A、B的数据库服务器
  二、操作步骤
  # A B 服务器停止同步
  STOP SLAVE;
  # A B 服务器清空MASTER日志
  RESET MASTER;
  # A B 服务器清空SLAVE日志
  RESET SLAVE;
  # A 服务器授权同步账户 (我们会同步一次复制数据库文件,所以授权为192.168.1%)
  GRANT REPLICATION SLAVE ON *.* TO ‘master_slave‘@‘192.168.1%‘ IDENTIFIED BY ‘123456‘;
  FLUSH PRIVILEGES;
  # A 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
  FLUSH TABLES WITH READ LOCK;(当线上正在运行数据库时,进行锁表操作,数据不在写入)
  # 如果使用SSH,需要重新开启,复制数据库文件。
  tar -cvf /tmp/mysql-data.tar /www/mysql
  tar -xvf /tmp/mysql-data.tar -C /
  # 查看 A 服务器主机状态(记录二进制开始文件,位置)
  SHOW MASTER STATUS;

  # B 服务器锁表(锁表状态下不能终止mysql进程,否则会失败)
  FLUSH TABLES WITH READ LOCK;
  # 修改 B 服务器配置 (修改为A服务器的主机状态)
  CHANGE MASTER TO MASTER_HOST=‘192.168.1.100‘,MASTER_USER=‘master_slave‘,MASTER_PASSWORD=‘123456‘,MASTER_LOG_FILE=‘binlog.000001‘,MASTER_LOG_POS=106;
  MASTER_LOG_FILE 对应A 服务器show master status中的File;MASTER_LOG_POS对应A 服务器show master status中的Position

  上图箭头所指的两个参数如果都为yes,就代表同步成功。
  # 开启 B 服务器同步进程
  START SLAVE;
  # 查看 B 服务器同步状态是否正常
  SHOW SLAVE STATUS;

  -------------------------------------------
  主从配置完毕,下面是互为主从
  ------------------------------------------
  下面的属于主主配置,一般很少会用到,可能会遇到冲突。
  # 查看 B 服务器主机(记录二进制开始文件,位置)
  SHOW MASTER STATUS;
  # 修改 A 服务器配置  (修改为B服务器的主机状态)
  CHANGE MASTER TO MASTER_HOST=‘192.168.1.101‘,MASTER_USER=‘master_slave‘,MASTER_PASSWORD=‘[email protected]#‘,MASTER_LOG_FILE=‘binlog.000001‘,MASTER_LOG_POS=106;
  # 开启 A 服务器同步进程
  START SLAVE;
  # 分别查看 A B 服务器同步状态,确定是否成功
  SHOW SLAVE STATUS;SHOW MASTER STATUS;
  # 解锁 A B 服务器
  UNLOCK TABLES;
  # 数据测试分别在 A B 服务器上创建表插入数据测试
  DROP TABLE IF EXISTS `test`;
  CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `value` varchar(100) DEFAULT ‘0‘,
  PRIMARY KEY (`id`)
  ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  INSERT INTO `test` VALUES (‘1‘, ‘Hello‘);
  注意:
  1. 数据库目录下的master.info的内容会覆盖命令行或my.cnf中指定的部分选项,更改配置需删除master.info
  2. my.cnf中的master配置在MySQL 6.0以后会取消,官方建议使用动态的CHANGE MASTER
  3. 如果只指定ignore-db而不指定do-db。则新创建数据库的操作也会同步。
  4. 一定要stop 主数据库服务器的防火墙,不然从服务器不能远程访问主服务器。
  互为同步配置实例:
  1. A B 互为主从同步test, 不同步mysql:
  两个数据库配置中均设置:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql
  2. A B 互为主从只同步test,不同步其他数据库,新创建的也不会同步
  两个数据库配置中均设置:binlog-do-db=test,replicate-do-db=test
  3. A B 互为主从不同步mysql, 同步其他数据库,譬如创建的新数据库也会同步
  两个数据库配置中均设置:binlog-ignore-db=mysql,replicate-ignore-db=mysql
  4. A B 互为主从同步所有数据库,包括新建的数据库
  两个数据库配置中均不设置上述四项

时间: 2024-10-13 02:10:42

MySQL数据库服务器 主从配置的相关文章

MySQL数据库的主从配置(多主对一从)

一.实验环境部署 主服务器 192.168.18.42 端口3306  ==> 从服务器 192.168.18.44 端口 3306    主服务器 192.168.18.43 端口3306  ==> 从服务器 192.168.18.44 端口 3307 ##数据库,已经安装mysql服务,安装部分略.从服务器上的多个mysql实例,请看另一篇帖子<用mysql_multi 实现一台机器跑多台mysql > 二.部署服务器 1.在两台主服务器上赋予从机权限,有多台丛机,就执行多次(

MySql数据库的主从配置

主服务器 192.168.7.182 Centos6.5 MYSQL5.6.10 从服务器 192.168.112.7 Centos6.5 MYSQL5.6.10 主服务器配置(192.168.7.182) vi /etc/my.cnf [mysqld]server-id=1log-bin=mysql-binbinlog-do-db=hello 需要同步的数据库名(不用提前创建) 保存重启mysql服务 service mysql restart 主服务器配置完毕 2.  查看主服务器信息 my

配置mysql数据库的主从同步实验

mysql数据库的主从同步实验 一. 实验环境部署 主服务器(mysql  master) IP: 192.168.8.241  端口3306 从服务器(mysql  slave)  IP: 192.168.8.242  端口3306 虚拟机配置:内存2G,硬盘28G,2块网卡(1块网卡也可以),注意复制虚拟机 时候选择生成不同的MAC地址,虚拟机生成之后,网卡的的名称会变为eth2.eth3,修改/etc/udev/rules.d/70-persistent-net.rules文件,将无效的M

MySQL数据库实现主从同步数据

MySQL数据库实现主从同步数据 参考链接: http://www.cnblogs.com/wxf020412/archive/2007/09/25/905628.html http://369369.blog.51cto.com/319630/790921 1.说明 利用数据库本身的数据同步机制实现数据同步,还可以通过备份数据库目录实现,以及通过第三方同步工具实现. 2.准备好两台以上MySQL数据库 ①.最好版本一致 3.主数据库配置 ①. 打开mysql的配置文件(windows)my.i

mysql数据库的主从同步,实现读写分离 g

https://blog.csdn.net/qq_15092079/article/details/81672920 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master主服务器的配置 2.1 配置文件my.cnf的修改 2.2 创建从服务器的用户和权限 2.3 重启mysql服务 2.4 查看主服务器状态 3 slave从服务器的配置 3.1 配置文件my.cnf的修改 3.2 重启mysql服务 3.3 连接master主服务器 3.4 启动slave数据同步

Mysql数据库的主从与主主

前言: 首先,我们得知道我们为什么要做数据库的主从与主主,而后,再讨论他们的优劣与特点:为什么要做主从呢?因为Mysql数据库没有增量备份的机制,当数据量太大的时候备份是个难以解决的问题.但是mysql数据库有主从备份的机制,说白了就是把主数据库的所有的数据同时写到备份的数据库中.实现mysql数据库的热备份. 要想实现主从或主主,首先要满足主从数据库服务器的版本的需求.要实现热备,mysql的版本需要都高于5.5.还有一个基本的原则就是作为从数据库的数据版本可以高于主服务器数据库的版本,但是不

Linux下MySQL数据库安装与配置

1. 安装MySQL数据库 先从MySQL官网下载MySQL,然后进入所下载的安装文件所在目录,运行如下命令进行安装,其中MySQL-server-community-5.1.56-1.rhel5.i386.rpm为刚刚下载的MySQL数据库服务器的rpm包,然后使用/etc/rc.d/init.d/mysqlrestart命令重启MySQL服务: [[email protected] ~]# rpm -ivh MySQL-server-community-5.1.56-1.rhel5.i386

Mysql数据库操作系统及配置参数优化

数据库结构优化 表的水平拆分常用的水平拆分方法为:1.对 customer_id进行 hash运算,如果要拆分成5个表 则使用mod(customer_id,5)取出0-4个值2.针对不同的 hashID 把数据存到不同的表中.挑战:1.跨分区表进行数据查询2.统计及后台报表操作 操作系统配置优化 数据库是基于操作系统的,目前大多数MySQL都是安装在Linux系统之上,所以对于操作系统的一些参数配置也会影响到MySQL的性能,下面就列出一些常到的系统配置.网给方面的配置, 要修改/etc/sy

Cacti监控mysql数据库服务器实现过程

Cacti监控mysql数据库服务器实现过程 2014-05-29      0个评论    来源:Cacti监控mysql数据库服务器实现过程   收藏    我要投稿 1 先在cacti服务器端安装mysql模板 wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz tar –xvf better-cacti-templates-1.1.8.tar.gz cd b