MySQL主从复制配置

标签: Database | 发表时间:2012-05-24 16:43 | 作者:siutung <>
出处:http://www.siutung.org/index.php
在实际企业应用环境当中,单台MySQL数据库是不足以满足日后业务需求的。譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止。

使用MySQL主从复制的好处有:

1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务;
2、在主从服务器上分开处理用户的请求,可以提升数据处理效率;
3、将主服务器上的数据复制到从服务器上,保护数据免受意外的损失;

环境:
主服务器(MySQL-Master):192.168.80.151
从服务器(MySQL-Slave):192.168.80.152

一、主MySQL数据库配置
1、MySQL数据库安装
# yum install mysql mysql-server mysql-devel -y
# cp /etc/my.cnf /etc/my.cnf.bak
# vi /etc/my.cnf
添加如下行:
[mysqld]
log-bin=mysql-bin              //启动二进制日志
server-id=1                       //服务器ID

2、登陆MySQL,添加一个backup的帐号,并授权给从服务器。
# mysql -uroot -p******
mysql> grant replication slave on *.* to 'backup'@'192.168.80.152' identified by 'backup';

3、查询主数据库状态,并记下File和Position的值(一会在从服务器上要用到这两个值)。
mysql> show master status;
*************************** 1. row ***************************
            File: mysql-bin.000001
        Position: 314
    Binlog_Do_DB: abcd
Binlog_Ignore_DB: mysql
1 row in set (0.00 sec)

二、从MySQL服务器配置
1、MySQL数据库安装
# yum install mysql mysql-server mysql-devel -y
# cp /etc/my.cnf /etc/my.cnf.bak
# vi /etc/my.cnf
添加如下行:
[mysqld]
log-bin=mysql-bin              //启动二进制日志
server-id=10                      //服务器ID

2、登陆MySQL并配置
mysql> change master to master_host='192.168.80.151',master_user='backup',master_password='backup',master_log_file='mysql-bin.000001',master_log_pos=314;
mysql> start slave;

3、检查主从同步,如果看到Slave_IO_Running和Slave_SQL_Running均为Yes,则主从复制连接正常。
mysql> show slave status\G
*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.80.151
                Master_User: backup
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: mysql-bin.000001
        Read_Master_Log_Pos: 314
             Relay_Log_File: mysqld-relay-bin.000002
              Relay_Log_Pos: 235
      Relay_Master_Log_File: mysql-bin.000001
           Slave_IO_Running: Yes
          Slave_SQL_Running: Yes
            Replicate_Do_DB:
        Replicate_Ignore_DB:
         Replicate_Do_Table:
     Replicate_Ignore_Table:
    Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
                 Last_Errno: 0
                 Last_Error:
               Skip_Counter: 0
        Exec_Master_Log_Pos: 314
            Relay_Log_Space: 235
            Until_Condition: None
             Until_Log_File:
              Until_Log_Pos: 0
         Master_SSL_Allowed: No
         Master_SSL_CA_File:
         Master_SSL_CA_Path:
            Master_SSL_Cert:
          Master_SSL_Cipher:
             Master_SSL_Key:
      Seconds_Behind_Master: 0
1 row in set (0.00 sec)

三、在主服务器上创建数据库,看主从是否工作正常
1、主服务器上创建数据库
# mysql -uroot -p*******
mysql> create database test;
mysql> use test;
mysql> create table user(id int(5),name char(10));
mysql> insert into user values(00001,'zhangsan');

2、从服务器上检查
# mysql -uroot -p******
mysql> show database;
mysql> select * from test.user;

可以看到MySQL主从复制已经在起作用了。
在主服务器上写入的数据都会自动同步到从服务器上。
Tags - ,

相关 [mysql 复制] 推荐:

mysql主从复制

- - SQL - 编程语言 - ITeye博客
从库的配置,mysql5.5不支持配置文件的配置了,问了数据库的人,用命令行指定. 修改从库的配置 #default-storage-engine = InnoDB #修改 default-storage-engine = blackhole server-id = 11215004 #新增 replicate-do-db = test log-bin = mysql-bin #新增 binlog_format = row.

MySQL主从复制配置

- - 天空极速
在实际企业应用环境当中,单台MySQL数据库是不足以满足日后业务需求的. 譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止. 使用MySQL主从复制的好处有:. 1、采用主从服务器这种架构,稳定性得以提升. 如果主服务器发生故障,我们可以使用从服务器来提供服务;. 2、在主从服务器上分开处理用户的请求,可以提升数据处理效率;.

MySQL 5.6 测试之 Replication(主从复制)

- - MySQL 中文网 -
MySQL 5.6测试之Replication. MySQL 5.6版本相比以前新增了很多令人激动的特性,简要介绍见: 转:MySQL 5.6新特性. 性能方面已经做过测试了,详细请见: MySQL 5.6 vs MariaDB 5.5 vs Percona(5.5 & 5.6) 之TPCC性能测试.

MySQL半同步复制(Semisynchronous Replication)

- - IT技术博客大学习
MySQL5.5引入了半同步复制(Semi-synchronous Replication),以下是对于半同步复制的认知和理解:. 半同步启动需要主从两端都需要加载安装各自对应的semi模块,从库端支持半同步功能的数量至少一台;主库端当一个事务成功提交后,并不及时反馈给前端用户,该线程会被临时block,等待由从库端返回确认该条事务也同时成功写入到relay log中的receipt(回执确认),这时主库线程才返回给当前session告知操作完成,半同步复制并不关心在从库一端该事务是否都被执行并被提交完成.

[玩转MySQL Replication] 复制拓扑

- - CSDN博客数据库推荐文章
     朴实简单的才是真、那些高端洋气的复制拓扑纯属自虐.      实施复制大概会有 4 个原则:.      ① 一个主库可以有多个备库.      ② 一个备库只能有一个主库.      ③ 每个备库 Server ID全局唯一.      ④ log_slave_updates 有薪火相传之效用.

MySQL主从复制与读写分离

- - 数据库 - ITeye博客
MySQL主从复制与读写分离. MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践. Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过. 但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面.

MySQL数据库复制概论

- - Float_Luuu的博客
每当我们讨论一项(新的)领域技术的时候,最好的方式通常是首先抛出一些问题,这些问题大致分为三类:诶. 这项技术又是什么玩意(What)?这项技术为什么会存在. 我们已经有那么多解决方案(Method)了,我们问什么要用它(Why). 如果这项技术那么好且我们正好有场景可以用到这项技术,且能使我们的系统得到很乐观的优化,那么我们怎么用呢(How).

MySQL Gtid复制方案学习

- - 小火箭
MySQL从5.6开始出了新的主从复制解决方案: Replication with Global Transaction Identifiers. 在整个复制集群中能够唯一的标识一个事务. 确保同一个事务只会被执行一次. 无法使用 CREATE TABLE. SELECT statements语句.

MySQL 主从复制添加slave

- - 小火箭
在已有的MySQL主从复制下添加slave的方法:. 1、在已有的slave上,执行 stop slave io_thread;,等待Slave_open_temp_tables为0时,执行 stop slave sql_thread;. 2、然后执行 flush tables with read lock;和 flush logs;.