主从复制条件:

Mysql 单机多实例安装参考Mysql 5.7.21 设置主从库同步

下面的操作是多实例主从复制,3306为主库,3307为从库。

  1. 主库要开启log-bin,主库和从库的server-id要不一样,修改/etc/my.cnf配置
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /tmp/mysql_multi.log
user = mysql
pass = 123456
[mysqld1]
datadir = /usr/local/data
socket = /tmp/mysql.sock1
port = 3306
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
server-id=1
log-bin=/usr/local/data/mysql-bin
[mysqld2]
datadir = /usr/local/data3307
socket = /tmp/mysql.sock2
port = 3307
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
server-id=2
  1. 在主库上面创建同步用户:
mysql>grant replication slave on *.* to 'rep'@'%' identified by '123456';    #后面的密码要设置复杂些。
mysql> flush privileges;
  1. 导出主库数据文件:

    3.1 常规方法,进入主库:
mysql> flush table with read lock;     #先锁表,锁表后不能退出mysql窗口,否则失效
mysql> show master status; #记录bin-log的位置信息
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 | 560 | | |
+------------------+----------+--------------+------------------+
mysql> exit
mysqldump -uroot -p -S /data/3306/mysql.sock --events -A -B|gzip >/tmp/bak_$(date +%F).sql.gz
mysql> unlock tables; #解锁数据库

3.2 快捷方法:

mysqldump -uroot -p -S /data/3306/mysql.sock --events -A -B -F --master-data=2 -x|gzip >/tmp/bak_f_$(date +%F).sql.gz
-x 自动锁表
-F --master-data=2 以备注形式记录bin-log的位置。(可以打开文件看头部备注信息)
  1. 还原备份内容到从库:
gzip -d bak_f_2018-03-26.sql.gz
mysql -uroot -p -S /tmp/mysql.sock2 < bak_f_2018-03-26.sql
  1. 连接从库,并执行:mysql -uroot -p123456 -S /tmp/mysql.sock2
CHANGE MASTER TO
MASTER_HOST='172.16.1.214',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='Root1234',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=560;
mysql> start slave;        #开启同步
mysql> show slave status \G ; #查看同步状态信息
  1. 监控mysql主从复制的状态指标:
mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave status \G ;" | egrep -i "_Running|_Behind"
        Slave_IO_Running: Yes                             #同步进程是否启动
Slave_SQL_Running: Yes #sql进程是否启动
Seconds_Behind_Master: 0 #从库同步完成需要的时间

Mysql 5.7.21 设置主从库同步的更多相关文章

  1. MYSQL主从库同步配置过程

    MYSQL主从库同步配置过程 为了实现网站数据库的异地备份,采用了MySQL数据库主从同步配置,需要两台服务器分别作为主从库,当主库发生增删改等操作,会实时反映到从库,我的个人服务器配置如下: 主库为 ...

  2. mysql 主从库同步

    #主库修改my.ini [mysqld] server log-bin=mysql-bin binlog-do-db=demo #从库修改my.ini [mysqld] server replicat ...

  3. 记Windows服务器Redis 6379被攻击 被设置主从模式同步项目数据

    在工作中第一次经历被攻击,我是一个前端,同时复负责维护一个已上线的项目,在最近一段时间小程序与后台经常出现这个报错, 搜了下说我的从机是只读模式,不能写入,问了同事得知这个项目是单机模式,根本不存在从 ...

  4. mysql 主从不同步

    今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; ...

  5. mysql 主从不同步处理--数据库初始化

    问题处理借鉴至网上的内容 又一次做主从,全然同步 在主库新建一张表后.在slave 段发现数据没有同步过去. mysql version:5.6.10 os :rhel 5.6 解决过程例如以下: 1 ...

  6. 解决mysql 主从数据库同步不一致的方法

    接着上文 配置完Mysql 主从之后,在使用中可能会出现主从同步失败的情况. mysql> show slave status\G Slave_IO_Running: Yes Slave_SQL ...

  7. Mysql主从(主从不同步解决办法,常见问题及解决办法,在线对mysql做主从复制)

    一.主从不同步解决办法 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master status; 也正常. mys ...

  8. Linux Centos下MySQL主从Replication同步配置(一主一从)

    MySQL 主从复制概念MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据 ...

  9. mysql主从同步从库同步报错

    1.在从库上设置master_info信息时出错 mysql> change master to master_host='192.168.157.143',master_port=3306,m ...

随机推荐

  1. Cocos2d-x 线程的使用及线程使用中遇到的问题

    .h文件: #if CC_PLATFORM_ANDROID == CC_TARGET_PLATFORM #include "pthread.h" #endif #if CC_PLA ...

  2. MyISAM to InnoDB: Why and How(MYSQL官方译文)

    原文地址:https://www.mysql.com/why-mysql/presentations/myisam-2-innodb-why-and-how/ MySQL使用一个插拔式的存储引擎架构, ...

  3. css3不错的教程

    <!DOCTYPE html><html><head><link rel="stylesheet" href="css/styl ...

  4. UCML JS函数说明

    UCML JS函数说明1.调用父窗体函数 window.openerWindow.函数名 2.公用JS存放位置 BPObject\Model\Rule\initvalue.js 3.弹窗JS var ...

  5. 转载 互斥体与互锁 <第五篇>

    互斥体实现了“互相排斥”(mutual exclusion)同步的简单形式(所以名为互斥体(mutex)).互斥体禁止多个线程同时进入受保护的代码“临界区”.因此,在任意时刻,只有一个线程被允许进入这 ...

  6. 安装win10操作系统的设备将要突破10亿台

    导读 该公司最初的目标是在发布后的三年内在 10 亿台设备上运行 Windows 10. 据微软高管梅赫迪 (Yusuf Mehdi) 周四在 Twitter 上透露,目前已经有 8 亿多台设备安装了 ...

  7. [TPYBoard - Micropython之会python就能做硬件 开篇]会python就能做硬件!

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 会python就能做硬件! 在写这套教程之前,首先感觉山东萝卜电子科技有限公司(turnip ...

  8. 树莓派学习笔记(7):利用bypy实现树莓派NAS同步百度云

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 树莓派制作NAS过程详见http://www.cnblogs.com/xiaowuyi/p/ ...

  9. 开放的dae模型

    从网上看到了这段代码,就Copy过来了. 其实面对dae这种开放的模型格式,我们可以做很多事情,就像通常的XML文件一样. //------------------------------------ ...

  10. 玩转 ”hello word“,Python程序员大多数都没有实现过

    很多人学习Python很长时间,对于'hello word' 的认知,很多已经从事Python多年的程序员的认知也就只有: print(hello wrod) 但是有没有让hello word 变得不 ...