Mysql版本

通过docker启动的mysql容器

mysql版本

  1. root@1651d1cab219:/# mysql --version
  2. mysql Ver 14.14 Distrib 5.6.19-v1, for Linux (x86_64) using EditLine wrapper

配置Master

Master需要一个唯一性的服务器ID。

一个二进制文件记录数据的变动。

一个可以读取二进制文件的mysql账号。

打开mysql配置文件找到如下内容。

  1. #server-id = 1
  2. log_bin = /etc/mysql/data/mysql-bin.log
  3. expire_logs_days = 2
  4. max_binlog_size = 100M
  5. #binlog_do_db = include_database_name
  6. #binlog_ignore_db = include_database_name

最后把内容改成如下内容

  1. server-id = 1
  2. log_bin = /etc/mysql/data/mysql-bin.log
  3. log_bin_index = /etc/mysql/data/mysql-bin.index
  4. expire_logs_days = 2
  5. max_binlog_size = 100M
  6. binlog_do_db = test
  7. binlog_ignore_db = mysql

重启mysql 在宿主机器上重启该mysql容器

重新进入到容器

在mysql的test库中创建一张测试表

先查看master 二进制位置

  1. mysql> show master status;
  2. +------------------+----------+--------------+------------------+-------------------+
  3. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
  4. +------------------+----------+--------------+------------------+-------------------+
  5. | mysql-bin.000004 | 121 | test | mysql | |
  6. +------------------+----------+--------------+------------------+-------------------+
  7. 1 row in set (0.00 sec)
  8. mysql> reset master;
  9. mysql> show master status;
  10. +------------------+----------+--------------+------------------+-------------------+
  11. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
  12. +------------------+----------+--------------+------------------+-------------------+
  13. | mysql-bin.000001 | 121 | test | mysql | |
  14. +------------------+----------+--------------+------------------+-------------------+
  15. 1 row in set (0.00 sec)

说明master配置已经运行

创建 复制账号

  1. GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY '';

已经不能在语句上赋值数据库名称了,如果需要过滤数据库需要配置文件的配置项

  1. #binlog_do_db = include_database_name
  2. #binlog_ignore_db = include_database_name

分别表示需要记录的数据库和不需要记录的数据库选项。

配置Slave

在slave服务器mysql的配置文件中添加

  1. server-id = 2
  2. relay_log_index = /etc/mysql/data/slave-relay-bin.index
  3. relay_log = /etc/mysql/data/slave-relay-bin.log

重启docker容器

连接 Slave到Master

  1. CHANGE MASTER TO MASTER_HOST='172.17.0.2',MASTER_PORT=3306,MASTER_USER = 'repl_user',MASTER_PASSWORD='';
  2. START SLAVE;

Master服务器添加数据

  1. mysql> use test;
  2. Database changed
  3. mysql> CREATE TABLE `a` (
  4. -> `id` int(11) NOT NULL AUTO_INCREMENT,
  5. -> `name` varchar(16) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  6. -> PRIMARY KEY (`id`)
  7. -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  8. Query OK, 0 rows affected (0.11 sec)
  9. mysql> show tables;
  10. +----------------+
  11. | Tables_in_test |
  12. +----------------+
  13. | a |
  14. +----------------+
  15. 1 row in set (0.00 sec)

Slave查看同步结果与状态

  1. mysql> show tables;
  2. +----------------+
  3. | Tables_in_test |
  4. +----------------+
  5. | a |
  6. +----------------+
  7. 1 row in set (0.00 sec)
  8. mysql> show slave status \G;
  9. *************************** 1. row ***************************
  10. Slave_IO_State: Waiting for master to send event
  11. Master_Host: 172.17.0.2
  12. Master_User: repl_user
  13. Master_Port: 3306
  14. Connect_Retry: 60
  15. Master_Log_File: mysql-bin.000001
  16. Read_Master_Log_Pos: 401
  17. Relay_Log_File: slave-relay-bin.000002
  18. Relay_Log_Pos: 565
  19. Relay_Master_Log_File: mysql-bin.000001
  20. Slave_IO_Running: Yes
  21. Slave_SQL_Running: Yes
  22. Replicate_Do_DB:
  23. Replicate_Ignore_DB:
  24. Replicate_Do_Table:
  25. Replicate_Ignore_Table:
  26. Replicate_Wild_Do_Table:
  27. Replicate_Wild_Ignore_Table:
  28. Last_Errno: 0
  29. Last_Error:
  30. Skip_Counter: 0
  31. Exec_Master_Log_Pos: 401
  32. Relay_Log_Space: 739
  33. Until_Condition: None
  34. Until_Log_File:
  35. Until_Log_Pos: 0
  36. Master_SSL_Allowed: No
  37. Master_SSL_CA_File:
  38. Master_SSL_CA_Path:
  39. Master_SSL_Cert:
  40. Master_SSL_Cipher:
  41. Master_SSL_Key:
  42. Seconds_Behind_Master: 0
  43. Master_SSL_Verify_Server_Cert: No
  44. Last_IO_Errno: 0
  45. Last_IO_Error:
  46. Last_SQL_Errno: 0
  47. Last_SQL_Error:
  48. Replicate_Ignore_Server_Ids:
  49. Master_Server_Id: 1
  50. Master_UUID: 8bb5a52d-5fe2-11e6-841c-0242ac110002
  51. Master_Info_File: /etc/mysql/data/master.info
  52. SQL_Delay: 0
  53. SQL_Remaining_Delay: NULL
  54. Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
  55. Master_Retry_Count: 86400
  56. Master_Bind:
  57. Last_IO_Error_Timestamp:
  58. Last_SQL_Error_Timestamp:
  59. Master_SSL_Crl:
  60. Master_SSL_Crlpath:
  61. Retrieved_Gtid_Set:
  62. Executed_Gtid_Set:
  63. Auto_Position: 0
  64. 1 row in set (0.00 sec)

我们的基本的主从Mysql搭建已经完成。

配置Master与Slave实现主从同步的更多相关文章

  1. Redis单机配置多实例,实现主从同步

    版权声明:本文为博主原创文章,欢迎转载,转载请保留或注明出处 本文转自:http://www.cnblogs.com/lgeng/p/6623336.html 一,单机多实例:Redis官网: htt ...

  2. redis配置master-slave模式

    由于云服务器存在闪断现象,项目线上会存在基于redis的功能在闪断时段内出现异常,所以redis需要做master-slave模式.直接上代码: 原单机redis,RedisConnectionFac ...

  3. mysql数据库配置主从同步

    MySQL主从同步的作用 .可以作为一种备份机制,相当于热备份 .可以用来做读写分离,均衡数据库负载 MySQL主从同步的步骤 一.准备操作 .主从数据库版本一致,建议版本5.5以上 .主从数据库数据 ...

  4. mysql 主从 同步原理及配置

    一.在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来 ...

  5. Mysql主从同步的实现原理与配置实战

    1.什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 2.主从同步有什么好处? 水平扩展数据库的负载能力. 容错,高可用.Failover ...

  6. MySQL主从介绍、配置主从、测试主从同步

    6月28日任务 说明:有不少同学不能一次性把实验做成功,这是因为还不熟悉,建议至少做3遍17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步有的同学,遇 ...

  7. mysql数据库主从同步

    环境: Mater:   CentOS7.1  5.5.52-MariaDB  192.168.108.133 Slave:   CentOS7.1  5.5.52-MariaDB  192.168. ...

  8. MariaDB主从复制,redis发布订阅,持久化,以及主从同步

      一. MariaDB主从复制 mysql基本操作 1 连接数据库 mysql -u root -p -h 127.0.0.1 mysql -u root -p -h 192.168.12.60 2 ...

  9. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

随机推荐

  1. js原生offsetParent解析

    offsetParent是个仅仅读属性,返回近期显示指定位置的容器元素的引用. 假设元素没有指定位置,近期的元素或者根元素(标准模式下是html,怪异模式下是body)就是offsetParent. ...

  2. 《Spring技术内幕》笔记-第二章 IoC容器的实现

    简单介绍 1,在Spring中,SpringIoC提供了一个主要的JavaBean容器.通过IoC模式管理依赖关系.并通过依赖注入和AOP切面增强了为JavaBean这样子的POJO提供事务管理,生命 ...

  3. Android eclipse导入项目后出现Unable to resolve target 'android-17'解决方法

    eclipse导入项目后出现Unable to resolve target 'android-17'解决方法.在最后附带还有一种编译逻辑不成功情况解决方法. 一.问题情况 二.解决的方法 1.改动项 ...

  4. jQuery - 制作点击显示二级菜单效果

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. 深入理解Android开发中的CoordinatorLayout Behavior

    在使用Android设计支持库(Android Design Support Library)时,很难避开CoordinatorLayout:设计库中有很多视图都需要CoordinatorLayout ...

  6. svn for vs

    现在官方下载需要注册一堆的东西,为方便群众使用在这里提供一个新版的下载. http://files.cnblogs.com/wfcfan/AnkhSvn-2.5.12266.rar

  7. PCB MongoDB数据库 备份与还原

    一. MongoDB数据库 备份与还原工具介绍: 数据备份工具  mongodump.exe 数据还原工具   mongorestore.exe 二. MongoDB数据库备份 mongodump - ...

  8. lodop使用

    根据相应的操作系统,安装install_lodop32.exe文件,它里面包含两个exe文件install_lodop32.exe和install_lodop64.exe,在页面的头部中引入: < ...

  9. AOP实现参数的判空问题

    不想每次都去判断必传的参数是否为空,写代码太繁琐了,正好最近用了AOP实现权限控制,依葫芦画瓢,现在用它实现参数的判空,至于AOP的原理之类,自己百度了解一下吧 1. NullDisable注解 @D ...

  10. A - Beautiful Matrix

    Problem description You've got a 5 × 5 matrix, consisting of 24 zeroes and a single number one. Let' ...