本文主要记录mysql 主从配置。

经典的原理图

0、环境:

  • 采用阿里云ECS服务器,同区同配置,操作系统为ubuntus 14 64位,服务器如下:

    服务器A:
    内网IP: 10.44.94.219
    服务器B:
    内网IP: 10.44.94.97

  • 安装mysql环境,命令如下:

    sudo apt-get update
    sudo apt-get install mysql-server mysql-client

1 Master 配置:

  • 创建复制账号:

    GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'10.44.94.97' IDENTIFIED BY 'fredric';

  • 拷贝数据(若存在历史数据)
  • 开启bin-log

    在my.cnf文件[mysqld]标签下增加
    log-bin=mysql-bin.log
    server-id=97
    #server-id 建议采用ip地址末尾

    备注:若binlog目录指定在其他地方,需要修改文件夹权限
    配置完重启mysql 服务:sudo /etc/init.d/mysql restart
    进入后输入:SHOW MASTER STATUS

显示:

+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 107 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

2 Slave 配置

  • 开启复制日志

在my.cnf文件[mysqld] 标签下增加
log_bin = mysql-bin.log
server_id = 219
relay_log = mysql-relay-bin.log
log_slave_updates = 1 #Slave同步从Master同步数据过来的时候,log_slave_updates参数用来控制Slave是否把所有的操作写入到binary log
read_only = 1 #Slave为只读

  • 配置Slave

CHANGE MASTER TO MASTER_HOST='10.44.94.219',
MASTER_USER='backup',
MASTER_PORT=3306,
MASTER_PASSWORD='fredric',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=107;

  • 开启复制

  START SLAVE;
  输入:SHOW SLAVE STATUS\G; 显示:

Slave_IO_State: Waiting for master to send event
Master_Host: 10.44.94.219
Master_User: backup
Master_Port:
Connect_Retry:
Master_Log_File: mysql-bin.
Read_Master_Log_Pos:
Relay_Log_File: mysql-relay-bin.
Relay_Log_Pos:
Relay_Master_Log_File: mysql-bin.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

测试遇到的问题:

报错:Last_IO_Error: error connecting to master

SLAVE服务器无法通过局域网IP连接MASTER服务器的数据库,原因是mysql默认安装时只绑定127.0.0.1这个IP访问,因此要修改my.cnf注释掉其中的bind-address = 127.0.0.1

最新文章

  1. Json在前台与后台之间的使用
  2. 管理科学与工程 国内核心期刊 国外a刊及SCI
  3. 自定义View(3)关于canas.drawText
  4. linux上配置jdk+Apache
  5. hdu 2243 考研绝望——复杂的文字(AC自己主动机+矩阵高速功率)
  6. 前端学习笔记(zepto或jquery)——对li标签的相关操作(五)
  7. SQL删除重复数据,保留一条
  8. EasyCHM(CHM电子书制作工具) v3.84.545 绿色版
  9. 《JS权威指南学习总结--7.10 数组类型》
  10. Java 模拟栈结构
  11. 启动VMware虚拟机时总是出现许可证到期提示怎么办?
  12. ML.NET 示例:推荐之One Class 矩阵分解
  13. docker 清理容器的命令
  14. Gym101889B. Buggy ICPC(打表)
  15. Django model 字段类型及选项解析
  16. 安装Debian后做的一些事情
  17. js 获取属性名称
  18. 解决DevExpress10.2.4版本在VS2012工具箱控件不显示的问题
  19. 大数据入门第二十二天——spark(二)RDD算子(2)与spark其它特性
  20. focusSNS学习笔记

热门文章

  1. Java多线程基础学习(一)
  2. nodejs进阶(3)—路由处理
  3. 结合Jexus + Kestrel 部署 asp.net core 生产环境
  4. 微软.NET Core RC2正式发布,横跨所有平台
  5. InnoDB关键特性学习笔记
  6. .NET Core的日志[1]:采用统一的模式记录日志
  7. iOS开发之App间账号共享与SDK封装
  8. UWP开发必备以及常用知识点总结
  9. Linux碎碎念
  10. scp报错 -bash: scp: command not found