Mysql 主从复制搭建
Mysql 主重复制搭建
- Linux版本:Linux Centos 6.4 32位
- Mysql版本:Mysql-5.6.38-linux-glibc2.12-i686
- Mysql安装:Mysql安装教程
- 搭建环境:在源LAMP架构基础,增加一台Mysql服务,搭建Replication 主从。
主Mysql配置
1、修改本地主机名为master(可略)。
# 临时修改主机名
hostname master
# 实时生效
bash
vim /etc/sysconfig/network NETWORKING=yes
HOSTNAME=master
永久修改主机名
2、修改Mysql主配置文件、重启服务。
# 指定同步的库
binlog-do-db=db1,db2 # 忽略不同步的库
binlog-ignore-db=db1,db2 注:需要从数据库吻合才可成立。
选择添加/指定数据库名做主从
# 修改mysql主配置文件
vim /etc/my.cnf
# 解注释:主ID为1
server-id = 1
# 解注释:开启二进制日志,mysql-bin前缀名
log-bin=mysql-bin
# 重启Mysql服务
/etc/init.d/mysqld restart
# 查看bin-log日志
ls /data/mysql/mysql-bin.* /data/mysql/mysql-bin.000001 /data/mysql/mysql-bin.000002 /data/mysql/mysql-bin.000011 /data/mysql/mysql-bin.index
查看是否生成二进制文件
3、授权主从用户。
# 进入数据库
mysql -uroot -p
# 添加用户repl 授权主从 允许访问所有库
mysql> grant replication slave on *.* to 'repl'@'192.168.1.115' identified by '123456';
# 安全起见:占时锁表,不让数据库更新
mysql> flush tables with read lock;
4、查看二进制相关信息。
# 查看二进制文件、位置数 | 需要记录到从数据库内
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000016 | 3722 | | | |
+------------------+----------+--------------+------------------+-------------------+
5、备份主数据到从数据库内(如果两台Mysql数据相同可略此步骤)
# 从测试:终端是否可连接主数据库端,使用授权用户。
mysql -urepl -p123456 -h192.168.1.111 -P3306 注:可登陆说明链接正常。
注:链接不上需要查看网络,端口,密码,地址等是否正确。
从数据库:测试数据库链接
# 备份数据库discut备份名为1.sql
mysqldump -uroot -p123456 discut > 1.sql
# 远程将备份文件发送给从服务端的root目录内
scp 1.sql root@192.168.1.115:/root/
主数据库:备份数据库、发送给从服务端
# 创建主的同名库
mysql -uroot -p123456 -e "create database discuz";
# 数据导入数据库内
mysql -uroot -p123456 discuz < 1.sql
从数据库:导入主备份数据
从Mysql配置
1、修改本地主机名为(可略)。
# 临时修改主机名
hostname slave
# 实时生效
bash
vim /etc/sysconfig/network NETWORKING=yes
HOSTNAME=slave
永久修改主机名
2、修改Mysql主配置文件、重启服务。
# 需要同步的库
replicate-do-db=db1,db2 # 忽略不同步的库
replicate-ignore-db=db1,db2 注:需要主数据库吻合才可成立。
选择添加/指定数据库名做主从
# 修改mysq主配置文件
vim /etc/my.cnf
# 解注释:从ID为2、从可以注释掉此选项
server-id = 2
# 重启Mysql服务
/etc/init.d/mysqld restart
3、进入数据库配置主从。
# 进入数据库
mysql -uroot -p
# 关闭复制
mysql> stop slave;
# 配置主从建立链接、master_log_file与master_log_pos要与主内的数据匹配
mysql> change master to master_host='192.168.1.111',master_port=3306,master_user='repl',master_password='123456',master_log_file='mysql-bin.000015',master_log_pos=1150;
# 开启复制
mysql> start slave;
4、查看主从链接情况,两个yes是正确的。
mysql> show slave status\G; *************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.111
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000015
Read_Master_Log_Pos: 1150
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000015
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
测试主从是否链接成功
5、主数据库:从配置完毕后把表锁打开。
mysql> unlock tables;
测试主从复制
mysql> create database xiangsikai;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| discuz |
| mysql |
| performance_schema |
| test |
| xiangsikai |
+--------------------+
主创建一个数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| discuz |
| mysql |
| performance_schema |
| test |
| xiangsikai |
+--------------------+
查看是否创建数据库
说明:Mysql主从复制比较脆弱,谨慎操作。如果重启master,请务必要先把slave停掉,也就是说需要在slave上去执行stop slave命令,然后再去重启master的mysql服务,否则很有可能会中断。当然重启完后,还需要把slave给开启start slave 。
注意事项
查看错误日志/data/mysql/slave.err
删除master.info文件
删除relay-log.info文件
删除所有/data/mysql下生成的bin.的二进制日志文件
配置冲突报错处理
主从复制从新建立链接
# 登陆mysql
mysql -uroot -p # 查看主库是否为之前的ip
mysql>show slave status\G; # 取消主从
mysql>change master to master_host=' ';
mysql>slave stop;
mysql>reset slave; # 查看状态
mysql>show slave status\G;
1、取消主从关系
# 登陆数据库
mysql -uroot -p # 关闭复制
mysql>stop slave; # 建立主从master_host 为要更改主库的ip地址、master_password 为要修改的密码
mysql>change master to master_host=‘192.168.1.1’, master_user='repl', master_password=‘xxxxxxx’, MASTER_AUTO_POSITION = 1; # 启动复制
mysql>start slave;
2、重新构建主从关系
Mysql 主从复制搭建的更多相关文章
- (转)MySQL 主从复制搭建,基于日志(binlog
原文:http://blog.jobbole.com/110934/ 什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数 ...
- MYSQL主从复制搭建及切换操作(GTID与传统)
结构如下: MYSQL主从复制方式有默认的复制方式异步复制,5.5版本之后半同步复制,5.6版本之后新增GTID复制,包括5.7版本的多源复制. MYSQL版本:5.7.20 操作系统版本:linux ...
- 《MySQL数据库》MySQL主从复制搭建与原理
前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步.为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难. 搭建 第一步:准备多实例环境.如何创建多实例见: 第二步:确保每一 ...
- 基于Docker的Mysql主从复制搭建
来源:https://www.cnblogs.com/songwenjie/p/9371422.html?tdsourcetag=s_pctim_aiomsg 为什么基于Docker搭建? 资源有 ...
- mysql主从复制搭建中几种log和pos详解
一.主从原理 Replication 线程 Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql in ...
- linux下mysql主从复制搭建
目标:搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,实现主从复制 环境: 主数据库: 192.168.1.1 从数据库: 192.168.1.2 mysql安装可参考:https:// ...
- (转)Mysql主从复制搭建及详解
http://www.cnblogs.com/kevingrace/p/6256603.html---------Mysql主从同步(1)-主从/主主环境部署梳理 原文:http://blog.csd ...
- Mysql 主从复制搭建-极简版
前言 自己在百度.Google一番踩坑搭建成功后,记录一下,也希望后来人不再被这些坑到. 这里为了方便使用 docker,不会的同学请移步相关 Docker 教程. 正文 1. 启动 mysql #启 ...
- mysql主从复制搭建
1.准备工作: 准备一台主服务器,我的IP地址为192.168.13.138,和一台从服务器:192.168.13.137,数据库版本一致,主从库都建好相应的库和表: 2.修改主从服务器的mysql配 ...
随机推荐
- 对象中prototype与__proto__与从cinstructor的作用和区别
首先先要知道prototype什么时间才会有 只有在创建函数的时候,每当函数创建的时候才会原型prototype,还有一个constructor,这个不是函数独有的,对象也有 下面就来说说对象prot ...
- 第二百节,jQuery EasyUI,Tabs(选项卡)组件
jQuery EasyUI,Tabs(选项卡)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 5.选项卡面板 本节课重点了解 EasyUI 中 Tabs(选项卡)组件的使用方 ...
- [浪风推荐]php的memcache应用入门教程
所需环境: php 5.3.3 apache 2.2.7 mysql 5.5.8 解压Memcached_1.2.5文档,cmd下执行memcached.exe -d -install 将php5.3 ...
- python 爬虫实战1 爬取糗事百科段子
首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 本篇目标 抓取糗事百科热门段子 过滤带有图片的段子 实现每按一次回车显示一个段子的发布时间,发布人 ...
- 粗略。。。java设计模式总结。。。studying
设计模式5--DAO(data access object) 1)把本机内存数据保存到指定目录中 2)把本机指定目录中数据读取到内存中 设计模式4--装饰模式 1)加强某个类的功能,并把该类加到加强类 ...
- 《从零开始学Swift》学习笔记(Day2)——使用Web网站编写Swift代码
Swift 2.0学习笔记——使用Web网站编写Swift代码 原创文章,欢迎转载.转载请注明:关东升的博客 Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub ...
- Grafana-----Singlestat Panel
singlestat面板允许你显示a SINGLE series的主要的汇总统计的一系列.它将series 简化为单个数(通过查看序列中的最大值.最小值.平均值或总和).singlestat还提供阈值 ...
- 【转】IBM PowerVM虚拟化技术笔记
1. 从CPU虚拟化的角度, 分区(partition)可以分成两大类:Micro-partition和Dedicated-procesor.前者可以将物理处理器以0.01的 粒度分配给微分区,分区创 ...
- ubuntu下MySQL无法启动Couldn't find MySQL server (/usr/bin/mysqld_safe)”
一台虚拟测试机,启动的时候,报上述错误,从这个报错来看,多半是因为读取到了另外的my.cnf导致的 那么,my.cnf放置在什么地方? 可以通过如下指令获取到 root@mysql:~# mysqld ...
- Python获取位数
import platform platform.architecture()