1. 配置主服务器

1.1 编辑my.cnf文件,配置主服务器ID。

[mysqld]
log-bin=mysql-bin
server-id=1
relay-log = relay-bin
relay-log-index = relay-bin.index

1.2 重启主服务器。

2. 配置从服务器

2.1 编辑my.cnf文件,配置从服务器ID。

[mysqld]
server-id=2

2.2 重启从服务器。

3. 创建同步帐号

3.1 创建复制用户。用户名和密码将会明文存储在同步信息文件master.info中。

mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

3.2 授权复制用户

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';

4. 获取binlog同步点信息

4.1 暂停主服务器的写入。在对主服务器加锁后,当前会话不能退出,否则会自动释放锁。

mysql> FLUSH TABLES WITH READ LOCK;

4.2 获取binlog文件名和偏移量。

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73 | test | manual,mysql |
+------------------+----------+--------------+------------------+

5. 创建主服务器快照

5.1 快照需要排除的文件列表。

  • mysql库相关的文件
  • master.info信息文件
  • 主服务器产生的binlog文件
  • 其他中转日志文件

5.2 确保获取了同步点信息。

5.3 关闭主服务器。

shell> mysqladmin shutdown

5.4 同步主服务器数据

shell> rsync -av mysql/ work@lab08:/home/work/local/mysql/ --exclude=var/mysql-bin.* --exclude=var/slow.log 

5.5 启动主服务器。

6. 在从服务器设置同步信息

6.1 命令行设置

mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
    ->     MASTER_PORT=1127,
    ->     MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;

6.2 启动slave同步

mysql> SLAVE START\G;

6.3 查看slave同步状态

mysql> SHOW SLAVE STAUTS\G;

如果观察到以下都为Yes,表明开始正常同步了。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

7 设置从库只读

有两种方式设置从库只读,修改配置或设置全局变量。

7.1 修改my.cnf文件

  #从库是否只读,0表示可读写,1表示只读

  read-only=1

7.2 动态设置参数

  set global read_only=true;

参考手册

http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html



设置MySQL主从同步的更多相关文章

  1. 利用phpmyadmin设置mysql主从同步(或者备份)

    一.实现同步的原理: 在主数据库与 从数据库 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 从数据库 端,另外一个线程(IO线程)在 主数据库 端. 注意: 1. ...

  2. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  3. Mysql主从同步(复制)

    目录: mysql主从同步定义      主从同步机制 配置主从同步      配置主服务器      配置从服务器 使用主从同步来备份      使用mysqldump来备份      备份原始文件 ...

  4. nagios 实现Mysql 主从同步状态的监控

    一.系统环境 主机名 IP nagios 192.168.15.111 mysql_s 192.168.15.21 二.操作步骤 2.1 mysql_s端的配置 2.1.1 编写check_mysql ...

  5. mysql主从同步配置(windows环境)

    mysql主从同步配置(mysql5.5,windows环境)   A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...

  6. mysql主从同步+mycat读写分离+.NET程序连接mycat代理

    背景 最近新项目需要用到mysql数据库,并且由于数据量大的原因,故打算采用1主1从(主数据库负责增.删.改操作:从数据库负责查操作)的数据库架构,在实现主从之后还要实现读写分离的代理,在网上搜寻了很 ...

  7. mysql主从同步(4)-Slave延迟状态监控

    mysql主从同步(4)-Slave延迟状态监控  转自:http://www.cnblogs.com/kevingrace/p/5685511.html 之前部署了mysql主从同步环境(Mysql ...

  8. mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理

    转自:http://www.cnblogs.com/kevingrace/p/6261091.html 在mysql工作中接触最多的就是mysql replication mysql在复制方面还是会有 ...

  9. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

随机推荐

  1. C/C++ 内联函数

    内联函数具备一般函数的性质,但是不需要调用,而是在编译阶段,会用函数体替换函数名被调用的地方.可以节省调用时间(进出栈.保存上下文). 在编译层面和宏的作用相同.内联函数的展开在编译阶段,宏展开在预处 ...

  2. C++中的运算符优先级

    1   ()  []  .  ->2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   * / % 4   + ...

  3. JDBC 学习笔记(三)—— 数据源(数据库连接池):DBCP数据源、C3P0 数据源以及自定义数据源技术

    本文目录:        1.应用程序直接获取连接的缺点(图解)        2.使用数据库连接池优化程序性能(图解)        3.可扩展增强某个类方法的功能的三种方式        4.自定 ...

  4. MVC与WebForm的一些区别

    MVC与WebForm的一些区别 它们都是ASP.NET WEB开发的两种方式 .但是他们也是有一些不同.做个小结. 1.MVC是没有服务器端控件这么一说的,也就是没有viewstate,也就不会产生 ...

  5. res/drawable目录下图片的Uri

    http://liuyun025.iteye.com/blog/1280838 有时候,我们要用到res/drawable目录下的图片Uri,而这个Uri该如何生存呢?下面就是这Uri的生成方法: U ...

  6. 关于json的知识整理

    一.什么是json JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML,但JSON 比 XML 更 ...

  7. Django 学习笔记之二 基本命令

    1.新建一个 django project 在Django安装路径下找到django-admin.py文件,我的路径是在C:\Python27\Lib\site-packages\Django-1.1 ...

  8. linux常用命令详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  9. bzoj 3907: 网格 组合数学

    3907: 网格 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 13  Solved: 7[Submit][Status][Discuss] Descr ...

  10. 【BZOJ】【2179】FFT快速傅里叶

    FFT 做的第二道用到FFT的……好吧其实还是模板题-_-b 百度上说好像分治也能做……不过像FFT这种敲模板的还是省事=.= /*********************************** ...