mysql主从同步快速设置方法

 更新时间:2010年12月17日 11:37:55   作者:  
记录一个比较简便的mysql的主从同步设置步骤,方便日后使用。
安装环境
centos 5.4
mysql 5.1.xx 采用rpm直接安装
xtrabackup 1.2.22 采用rpm直接安装
复制代码 代码如下:

[mysqld]
server-id = 1
log-bin
innodb_flush_log_at_trx_commit=1
sync_binlog=1
datadir=/var/lib/mysql
character-set-server=utf8
init_connect='SET NAMES utf8'

设定了默认字符集为utf8,可以按实际情况取舍这段配置。

2. Slave:/etc/my.cnf
复制代码 代码如下:

[mysqld]
server-id=2
datadir=/var/lib/mysql
character-set-server=utf8
init_connect='SET NAMES utf8'

3. Master:在master数据库设置用来同步的slave用户权限
复制代码 代码如下:

GRANT REPLICATION SLAVE ON *.*
TO '<slave_username>'@'<slave_ip>'
IDENTIFIED BY '<slave_password>';

4. Master:导出数据到slave
采用xtrabackup来备份mysql,好处是在master的锁表时间很短,在实际的生产环境也可以使用,并且xtrabackup会自动记录同步日志文件的位置。
复制代码 代码如下:

sudo innobackupex-1.5.1 --stream=tar /tmp/ | ssh <slave_host> "mkdir /tmp/db; tar xfi - -C /tmp/db/"

这个步骤会把master的数据包括表结构整个导出并压缩复制给slave,同时解压到slave的/tmp/db目录下。

5. Slave:导入数据到slave
复制代码 代码如下:

innobackupex-1.5.1 --apply-log /tmp/db
innobackupex-1.5.1 --copy-back /tmp/db
chown -R mysql.mysql /var/lib/mysql/*

6. Slave:开始同步数据
查看/var/lib/mysql/xtrabackup_binlog_info,获得日志文件以及position。
复制代码 代码如下:

CHANGE MASTER TO
MASTER_HOST='<master_host>',
MASTER_USER='<slave_username>',
MASTER_PASSWORD='<slave_password>',
MASTER_LOG_FILE='<see xtrabackup_binlog_info>',
MASTER_LOG_POS=<see xtrabackup_binlog_info>;
START SLAVE;

原始出处 http://www.ooso.net/archives/547

相关文章

  • MySQL索引用法实战指南

    MySQL索引用法实战指南

    本文详细介绍了MySQL索引的使用方法,包括索引的原理、类型、设计原则、优化技巧以及常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2026-03-03
  • Mysql 默认字符集设置方法(免安装版)

    Mysql 默认字符集设置方法(免安装版)

    有些时候我们在使用非安装版的mysql是需要设置默认字符集的时候,就需要这样的修改了。安装版的可以选择的。
    2009-03-03
  • Docker mysql 主从配置详解及实例

    Docker mysql 主从配置详解及实例

    这篇文章主要介绍了Docker mysql 主从配置详解及实例的相关资料,需要的朋友可以参考下
    2016-11-11
  • 浅析如何保证MySQL与Redis数据一致性

    浅析如何保证MySQL与Redis数据一致性

    在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧
    2025-06-06
  • MySQL主从复制的两种方式详解

    MySQL主从复制的两种方式详解

    主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这 些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步,本文给大家详细介绍了MySQL主从复制的两种方式,需要的朋友可以参考下
    2025-09-09
  • MySQL DQL语句的具体使用

    MySQL DQL语句的具体使用

    本文主要介绍了MySQL DQL语句的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • MySQL数据库表的CRUD操作

    MySQL数据库表的CRUD操作

    这篇文章主要介绍了MySQL数据库表的CRUD操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • mysql常用监控脚本命令整理

    mysql常用监控脚本命令整理

    mysql监控脚本常用命令整理,感兴趣的朋友可以了解下哈
    2013-06-06
  • mysql 10w级别的mysql数据插入

    mysql 10w级别的mysql数据插入

    几天前做了一个短信发送东东,一次性要插入10w以上的手机号码。我的个天啊。
    2011-08-08
  • MySql 错误Incorrect string value for column

    MySql 错误Incorrect string value for column

    能使用中文进行搜索,但是insert into 中文是可以的。我的数据库和数据表中所有的charset都是设置的utf8。
    2010-12-12

最新评论