`
MafiaDada
  • 浏览: 25760 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Linux MySQL主从复制(Replication)配置

阅读更多
MySQL是开源的关系型数据库系统。复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程。

配置主服务器(master)

1、编辑数据库配置文件my.cnf,一般在/etc/目录下。

#vi /etc/my.cnf
在[mysqld]的下面加入下面代码:

log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog-do-db=wordpress
binlog_ignore_db=mysql
server-id=1中的1可以任定义,只要是唯一的就行。
binlog-do-db=wordpress是表示只备份wordpress。
binlog_ignore_db=mysql表示忽略备份mysql。
不加binlog-do-db和binlog_ignore_db,那就表示备份全部数据库。

2、然后重启MySQL:

#service mysqld restart

3、登录MySQL服务器。

#mysql -uroot -p
在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限。你不需要再赋予其它的权限。在下面的命令,把X.X.X.X替换为从服务器的IP。

mysql>CREATE USER 'user'@ 'X.X.X.X' IDENTIFIED BY 'password';
mysql>GRANT REPLICATION SLAVE ON *.* TO 'user'@'X.X.X.X' IDENTIFIED BY 'password';

4、执行以下命令锁定数据库以防止写入数据。

mysql>FLUSH TABLES WITH READ LOCK;

5、退出mysql命令行,导出数据库

#mysqldump -u root -p123456 --all-databases  --lock-tables=false  -- > /root/all.sql

6、使用scp命令传输数据库文件all.sql到从服务器。

#scp /root/all.sql root@www.example.com:/root

7、再次连接数据库进入mysql命令行查看master状态。

mysql>SHOW MASTER STATUS;
请记下显示的信息,配置从服务器会用到。
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000003 | 1001741 | dbispconfig | mysql |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

8、解锁数据表。

mysql>UNLOCK TABLES;
配置从服务器(slave)



登录从服务器。
1、导入主服务器的数据库。

#mysql -u root -p123456 < /root/all.sql

2、编辑配置文件my.cnf,在[mysqld]下面加入:

server-id=2
2可以自己定义,只要保证唯一的就行。

3、保存文件并重启mysqld。

#service mysqld restart

4、登录mysql服务器,执行以下命令。

mysql>CHANGE MASTER TO
MASTER_HOST='X.X.X.X',
MASTER_USER='user',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=98,
MASTER_CONNECT_RETRY=10;
MASTER_HOST:主服务器的IP。
MASTER_USER:配置主服务器时建立的用户名
MASTER_PASSWORD:用户密码
MASTER_PORT:主服务器mysql端口,如果未曾修改,默认即可。

5、启动slave进程。

mysql>START SLAVE;

6、查看mysql的日志,一般在/var/log/目录下的mysqld.log,如果启动成功,你应该会看到类似下面的日志。

[root@localhost ~]# vi /etc/my.cnf


091104 8:42:02 [Note] Slave I/O thread: connected to master ‘root@X.X.X.X:3306?, replication started in log ‘mysql-bin.000001? at position 98
现在主服务器和从服务器已经配置好了。另外你可能需要设置主服务器的数据库二进制日志的过期时间,可以在配置文件中使用参数expire_logs_days来设定。
分享到:
评论

相关推荐

    linux下mysql主从复制

    #### 二、单向主从复制配置 ##### 1. 配置 Master 节点 首先,我们需要对 Master 节点进行配置。这一步主要是为了让 Master 节点能够记录其执行的所有更改,并且可以被 Slave 节点读取这些更改。以下是配置 Master...

    Linux配置mysql主从同步

    ### Linux下MySQL主从同步配置详解 #### 一、引言 在数据库管理领域,MySQL主从同步是一种常见的数据复制技术,它可以帮助我们构建高可用性和数据冗余性,从而提高系统的稳定性和可靠性。本文将详细介绍如何在Linux...

    Linux-Mysql主从同步配置

    Linux-Mysql 主从同步配置 本文将详细解释 Linux-Mysql 主从同步配置的步骤和知识点。 一、主服务器配置 1. 编辑数据库配置文件 my.cnf, 一般在/etc/目录下。 2. 在[mysqld]下面加入以下代码: * log-bin=mysql...

    第十五讲mysql主从复制安装配置进阶.pptx

    根据提供的文件信息,我们可以深入探讨 MySQL 主从复制的高级配置与管理。主从复制是 MySQL 数据库中的一个重要特性,主要用于实现数据的冗余备份、负载均衡等目的。下面将详细介绍如何进行 MySQL 主从复制的安装...

    linux运维学习笔记:MySQL主从复制原理和实战.pdf

    在具体配置MySQL主从复制时,首先需要修改***f配置文件,设置log-bin来启用二进制日志记录,设置server-id来唯一标识每个MySQL服务器。接着,在主服务器上创建模拟数据,用于测试复制功能。然后,在从服务器上执行...

    mysql主从复制搭建文档

    ### MySQL主从复制搭建知识点详解 #### 一、MySQL主从复制概述 MySQL主从复制是一种数据同步机制,它能够实现在多个服务器间的数据一致性。通过这种机制,可以从主服务器(Master)自动地将所有数据库操作(包括DDL...

    MySQL主从复制.pdf

    MySQL主从复制技术是一种数据库复制技术,它可以在多个服务器之间复制数据,使得数据在不同位置...这些知识点涵盖了从安装MySQL、配置主从服务器,到监控和管理复制状态的各个方面,是实施MySQL主从复制技术的基础。

    linux下mysql主从复制搭建.pdf

    在Linux环境下,MySQL主从复制是一种常见的高可用性和负载均衡解决方案。通过主从复制,可以将主服务器的数据更改实时同步到从服务器,确保在主服务器出现故障时,从服务器能够接管服务,保证业务的连续性。以下是...

    Mysql 5.6 主从复制配置 for Linux

    ### MySQL 5.6 主从复制配置详解 #### 一、引言 在现代数据库管理中,为了提高系统的高可用性和容错性,通常会采用MySQL的主从复制技术。通过这种技术,不仅可以实现数据的实时备份,还能进行读写分离以提升性能,...

    Mysql主从复制读写分离实现

    下面将详细介绍MySQL主从复制中的读写分离实现步骤。 1. **安装MySQL** 在主从服务器上,首先都需要安装MySQL。这里以Linux环境为例,通过编译源码的方式进行安装。创建一个名为`mysql`的用户,解压MySQL的源代码...

    12.1: MySQL主从同步 、 主从同步模式 、 总结和答疑.docx

    MySQL主从同步配置和实现 MySQL主从同步是指将一个MySQL服务器的数据实时地复制到另一个或多个服务器上,以实现数据的高可用性和灾难恢复。这种方式可以实现数据的热备援、读写分离、负载均衡等功能。 1. 案例 1:...

    Linux配置mysql主从

    ### Linux下MySQL主从配置详解 #### 环境配置 在进行MySQL主从配置之前,首先需要确保有两个可用的MySQL服务器,本文档中的环境设置为: - **MySQL Server A** (主服务器): IP地址为192.168.0.100 - **MySQL ...

    mysql replication 配置(主从复制读写分离)

    ### MySQL Replication 主从复制与读写分离配置详解 #### 一、背景介绍 MySQL replication是一种数据复制技术,主要用于实现数据库的高可用性、负载均衡和数据备份等场景。通过搭建主从复制环境,可以实现在多台...

    linux实现mysql主从复制(将对数据库的读写操作分离开来,这也是数据库优化的一种方式).pdf

    本文将详细解析MySQL主从复制的工作原理、实施步骤及其应用场景。 ### 一、MySQL主从复制原理 MySQL主从复制是通过一个名为`binlog`的二进制日志来实现的。当在主服务器上执行任何更改数据的操作时,这些操作会被...

    MYSQL主从复制专题

    ### MySQL主从复制详解 MySQL主从复制是一种重要的高可用性解决方案,它通过将一个MySQL服务器(主服务器)的数据复制到一个或多个其他MySQL服务器(从服务器)来实现。这种架构不仅能够提升读写分离的能力,提高...

    基于Mycat的MySQL主从读写分离配置详解与示例

    ### 基于Mycat的MySQL主从读写分离配置详解与示例 #### 一、概述 在高并发的互联网应用场景下,单一数据库往往难以承受大量的读写请求,因此,采用主从架构实现读写分离是提高系统稳定性和响应速度的有效方法之一...

    mysql主从主主配置.docx

    为了实现MySQL的主从复制,首先需要配置主服务器。假设我们有两台服务器作为主服务器: - **主服务器 1 IP**: 192.168.0.1 - **主服务器 2 IP**: 192.168.0.2 在主服务器 1 上进行以下配置: **步骤 1:** 修改 ...

Global site tag (gtag.js) - Google Analytics