Slave服务器的版本要等于或者高于master服务器

现在的实例是在mysql 5.7上的主从配置

a) master服务器的my.cnf配置,server_id 推荐用IP的后两位数字

[mysqld]
federated
port=
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
server_id =
log-bin=mysql-bin
expire_logs_days=
binlog-do-db=dbname
binlog-ignore-db=mysql,information_schema
max_allowed_packet=500M
event_scheduler=
max_connections=
character_set_server=utf8
init_connect='SET NAMES utf8'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8

b) master服务器授权一个可以数据同步的用户(这里的用户是repluser,密码123456)

grant replication slave on *.* to 'repluser'@'%' identified by '';

c) master 服务器重启mysql

service mysqld restart

d) slave服务器的my.cnf配置, server_id 43210是slave IP的后两位[mysqld]federatedport=50000basedir = /usr/local/mysql

datadir = /usr/local/mysql/data
server_id = 43210
log-bin=mysql-bin
expire_logs_days=3
binlog-do-db=dbname
log_slave_updates=1
binlog-ignore-db = mysql,information_schema
max_allowed_packet=500M
max_connections=2000
character_set_server=utf8
init_connect='SET NAMES utf8'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8

e) salve 服务器测试连接master的同步用户(repluser),测试可以连接,即可退出

mysql -hX.X.X.X -urepluser -p123456 -P50000

f) slave服务器重启

service mysqld restart

*****************************************************************************************************************************

1:在master服务器跑

mysqldump --master-data= --single-transaction -uroot -p'your_password' dbname > /root/mysqldump.sql

2:把主服务器产生的mysqldump.sql 做gzip 压缩,上传到从服务器

gzip - /root/mysqldump.sql
scp /root/mysqldump.sql.gz root@X.X.X.X:/root/

3:在从服务器上首先要创建一个空的数据库,数据库 名称和即将要要入的数据库名称一致

drop database if exists dbname;
create database dbname;

有两种方法导入

方法一, 进入mysql命令行操作

use dbname;
source /root/mysqldump.sql

方法二,不进入mysql命令行操作

mysql -uroot -p dbname < /root/mysqldump.sql

4:用vi查看 mysqldump.sql中的MASTER_LOG_FILE和MASTER_LOG_POS信息

5:在从服务器运行

stop slave;
CHANGE MASTER TO master_host='192.X.X.X', MASTER_LOG_FILE='mysql-bin.000028', MASTER_LOG_POS=, master_user='repluser', master_password='', master_port=; 

可以参考一下:https://www.jianshu.com/p/3932551e0221

6:在从服务器运行 start slave;

7:在从服务器运行show slave status\G; 查看Slave_IO_Running和Slave_SQL_Running 两列是否都为YES,Seconds_Behind_Master为0,就正常了

生产环境设置mysql主从复制的更多相关文章

  1. MySQL生产环境下的主从复制启动项

    MySQL的复制参数除了我们之前搭建主从时遇到的那几个之外,还有以下两个: 1.log-slave-updates 这个参数用来配置从库上是否启动了二进制日志的功能,默认是不开启的,如果开启了那么从库 ...

  2. 生产环境搭建MySQL复制的教程(转)

    [导读] 网络上有很多关于MySQL复制搭建的步骤和范例,以及手册上有一章完整的篇幅,讲述MySQL复制的原理.搭建步骤.优化等,但依然存在很多刚开始学习MySQL知识或者刚进入DBA行业的朋友咨询, ...

  3. 四步法分析定位生产环境下MySQL上千条SQL中的问题所在

    第一步:通过以下两种方式之一来打开慢查询功能 (1)方式一:通过修改mysql的my.cnf文件 如果是5.0或5.1等版本需要增加以下选项: log-slow-queries="mysql ...

  4. mysql_secure_installation 安全安装(用于生产环境设置)

    编译安装完mysql5.6,如果用于生产环境,最好执行mysql_secure_installation来做一些常规化安全设置. 需要提前将~mysql/bin加入环境变量 /apps/mysql// ...

  5. 阿里云ESC学生服务器搭建springboot项目生产环境(Mysql+JDK)不需要上传安装包

    嗯,之前服务器被挖矿的病毒弄的登录不进去了,所以联系了阿里云客服,提交工单,最后建议重置,所以我就重置了, 嗯,学习经验,docker如果懂的不是太多,不要随便云部署,都给别人挖矿了.   Mysql ...

  6. 生产环境中mysql数据库由主从关系切换为主主关系

    目录 一.清除原从数据库数据及主从关系 1.1.关闭主从数据库原有的主从关系 1.2.清除从数据库原有数据 二.将主库上的数据备份到从库 2.1.备份主库数据到从库 2.2.在从库使用tsc.sql文 ...

  7. windows环境设置mysql自动备份(测试成功)

    00.背景介绍 最近做了个小程序,使用的是mysql数据库,涉及到将程序数据备份的事:虽然大部分数据库客户端工具都具有备份功能,但并不能做到定期自动备份:在Windows环境下,手工备份MySQL是很 ...

  8. 生产环境中mysql+keepalive双主模式,keepalive守护进程实现双主切换提供数据库服务

    mysql+keepalive实现浮动地址自动切换,由于keepalive无自带健康检查功能,所以必须自动编写健康检查守护进程(监控DB1和DB2数据库的监控状态,来保证浮动地址双机自动切换.) 一, ...

  9. mysql主从复制延时判断+脚本检查

    在生产环境中,主从复制常常会有复制延迟的现象,主要是master是并发的写,而slave是单线程的应用relay log,所以会出现复制延时,在MySQL 5.6版本中有了基于库的多线程复制.还有Ma ...

随机推荐

  1. 树莓派查看ip地址(命令ifconfig)和退出ping

    1.1树莓派查看ip地址用如下命令: ifconfig -a 结果如下图所示: 注意:树莓派查看ip地址是用命令ifconfig,而Windows的cmd命令查看ip地址是ipconfig.

  2. 问题 E: Problem B

    #include <cstdio> #include <cstring> #include <algorithm> #include <vector> ...

  3. 【卸载Pycharm】

    一.卸载软件及安装目录 1. 控制面板中卸载 二.删除注册表信息 1. 备份注册表信息 2. 删除注册表信息

  4. Java锁机制深入理解

    Java锁机制 背景知识 指令流水线 ​ CPU的基本工作是执行存储的指令序列,即程序.程序的执行过程实际上是不断地取出指令.分析指令.执行指令的过程. ​ 几乎所有的冯•诺伊曼型计算机的CPU,其工 ...

  5. C语言 小技巧函数方法总结

    1.使用^(异或) 不引入第三变量交换两个变量的值. /* 交换 int a 和 int b 的值*/ #include <stdio.h> int main(int argc, char ...

  6. Python标准库之logging模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  7. python3相关

    with用法 with A as B: 语句 调用( A返回的类) 的__enter__方法 将该方法返回值赋予B, 执行完with语句块后, 调用类的__exit__方法

  8. 缓存 - 数据缓存 - IndexedDB - Dexie.js

    Classes Dexie DexieError Collection and():Add JS based criteria to collection(向集合添加基于JS的条件) delete() ...

  9. FatMouse and Cheese HDU - 1078 dp

    #include<cstdio> #include<iostream> #include<cstring> using namespace std; int n,k ...

  10. A - Wireless Network POJ - 2236-kuangbin带你飞

    A - Wireless Network POJ - 2236 Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 50348 ...