Mysql主从复制配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/809419

环境:master: 192.168.240.131

   Slave: 192.168.240.130

需要复制的数据库:test

1.       Master服务器启动mysql,

a)         #mysql –uroot –proot

b)        创建一个有复制权限的用户,只限slave远程连接访问.

                         i.              mysql>grant replication slave on *.* to navy@192.168.240.130 identified by ‘password’;

                       ii.              mysql>flush privileges;

c)         mysql>flush tables with read lock; #锁定master服务器所有表的写入。

d)        重新打开一终端,备份要复制的数据库。

                         i.              #tar -zcvf test.tar.gz /data/mysql_db/test/    //test所在路径/data/mysql_db/test/即一个库。

                       ii.       将test.tar.gz复制到从服务器上并减压到相应的目录下

e)         返回上一终端。

                         i.              Mysql>show master status;

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

|mysql-bin.000013|       106 | test         |                  |

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

1 row in set (0.01 sec)

其中mysql-bin.000013和106二个值将是slave与master的同步点。

f)          给数据库解锁(当备份完成后) mysql>unlock tables;

g)         编辑mysql的配置文件。Vim /etc/my.cnf 设置这三个参数,没有的添加,有的直接更改即可。

log-bin=mysql-bin

server-id  = 1

binlog-do-db=test

                   保存退出。

2.       Slave服务器配置

a)         将从master中备份的库解压到相应路径下(退库的导入)

                         i.              #tar zxvf test.tar.gz 

b)        修改my.cnf

server-id=2

master-host=192.168.240.131

master-user= navy

master-password= password

log-bin=

3.       重启master, slave的mysql服务

a)         注意顺序,先重启master-à 然后是slave.

b)        Slave服务器重启后,登录mysql

mysql> stop slave;

Query OK, 0 rows affected (0.00 sec)

 

mysql> change master to

    -> master_host='192.168.0.3',

    -> master_user='navy',

    -> master_password='password',

    -> master_log_file='mysql-bin.000013',

    -> master_log_pos=106;

Query OK, 0 rows affected (0.02 sec)

 

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

 

mysql> show slave status\G;

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event

             Master_Host: 192.168.240.131

             Master_User: navy

             Master_Port: 3306

             Connect_Retry: 60

            Master_Log_File: mysql-bin.000013

        Read_Master_Log_Pos: 98

            Relay_Log_File: alan-relay-bin.000002

            Relay_Log_Pos: 235

      Relay_Master_Log_File: mysql-bin.000013

            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: 98

            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.01 sec)

 

ERROR: No query specified

当这个参数都为yes时,证明主从复制成功

 

     Slave_IO_Running: Yes   Slave_SQL_Running: Yes

设置只读:
Alter database dbname set READ_ONLY

恢复读写:
Alter DATABASE db_name SET READ_WRITE

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/809419

时间: 2024-09-11 08:09:37

Mysql主从复制配置的相关文章

相当简单的MySQL主从复制配置教程

主从复制好处 它可以保证我们数据实时异步备份并且主服务器不受外部影响安全可靠 主从复制原理 将数据分布到多个系统上去,是通过将Mysql的某一台master主机的数据复制到其它(slave)主机上,并重新执行一遍来实现的: 复制过程中一个服务器充当master服务器,而一台或多台其它服务器充当slave服务器.master服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环. 这些日志可以记录发送到slave服务器的更新.当一个slaves服务器连接master服务器时,它通知ma

MySQL主从复制配置 MySQL数据自动备份配置

使用MySQL主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务: 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率: 3.将主服务器上的数据复制到从服务器上,保护数据免受意外的损失: mysql服务器的主从配置,本来是一件很简单的事情,无奈不是从零开始,总是在别人已经安装好的mysql服务器之上 ,这就会牵扯到,mysql的版本,启动文件,等一些问题. 不过没关系,先问清楚两点 1.mysql配置文件my.cnf的位置

深入解析半同步与异步的MySQL主从复制配置_Mysql

简单来讲MySQL的主从复制就是一个C/S架构的应用.master可以认为是我们通常意义上所认为的server,slave可以当作是一台client.slave上的I/O线程去请求master上数据,而master验证通过slave的信息后就允许slave接入,然后进行数据变化信息的发送.一.MySQL主从复制原理这里我以MySQL5.5为例来说一下MySQL的主从复制的原理: 首先由备节点的I/O线程负责向主节点请求数据,主节点验证通过以后会由dump线程把数据发送给备用节点.备用节点的I/O

MySQL主从复制配置心跳功能介绍_Mysql

在 MySQL 主从复制时,有时候会碰到这样的故障:在 Slave 上 Slave_IO_Running 和 Slave_SQL_Running 都是 Yes,Slave_SQL_Running_State 显示 Slave has read all relay log; waiting for the slave I/O thread to update it ,看起来状态都正常,但实际却滞后于主,Master_Log_File 和 Read_Master_Log_Pos 也不是实际主上最新的

mysql主从复制配置步骤经典实例

IP规划: mysql主:192.168.0.100 mysql从:192.168.0.200 my.cnf配置 主mysql中的[mysqld]项里除了要配置相关参数以外还要配置必要的三项,现将一个最简单的示例: [mysqld] user=mysql pid-file=/var/run/mysqld/mysqld.pid socket=/var/run/mysqld/mysqld.sock basedir=/usr datadir=/var/lib/mysql tmpdir=/tmp log

CentOS6中mysql主从复制配置(注:mysql是通过yum源安装的)

mysql复制的优点主要包括以下3个方面: 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操作,降低主服务器的访问压力 3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务 注意:一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍然需要从主服务器获得 主服务器配置 我的服务器采用yum安装,如果想配置文件 设置默认编码等一些初始参数(my.cnf)(若无my.cnf, 则可cp /usr/share/m

CentOS服务器Mysql主从复制集群的搭建

        在配置Mysql数据库主从复制集群的时候要保证:              1.主从服务器操作系统版本和位数一致.              2.Mysql版本一致.          为了保证稳定性,最好服务器操作系统和Mysql数据库环境一致.         CentOS服务器上Mysql的安装方法可以参见博客:         http://blog.csdn.net/jhq0113/article/details/43812895                   服

高可用架构-- MySQL主从复制的配置

环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205     主机名:edu-mysql-01 从节点IP:192.168.1.206     主机名:edu-mysql-02 主机配置:4核CPU.4G内存   依赖课程 <高可用架构篇--第13节--MySQL源码编译安装(CentOS-6.6+MySQL-5.6)>   MySQL主从复制官方文档 http://dev.

Mysql主从复制的一些参数配置

之前 介绍了如何配置mysql数据库的主从复制,配置主从复制的时候会遇到一些问题 比如同步的时候出错了导致从库同步卡住 比如只想同步某一个数据库或者不想同步某一个数据库 也有时候我们一个数据库有一些表不想同步 本文介绍一些如何配置这些需求 如何避免一些错误 比如从库一个表不存在导致整个从库的同步都卡主等,可以配置从库的my.cnf,添加以下配置 slave-skip-errors = 1032,1062,126,1114,1146,1048,1396 这样出现这些错误代码时主从复制依然会跳过错误