MySQL高可用主从复制部署
原文转自:https://www.cnblogs.com/itzgr/p/10233932.html
作者:木二
目录
- 一 基础环境
- 二 实际部署
- 2.1 安装MySQL
- 2.2 初始化MySQL
- 2.3 master my.cf配置
- 2.4 创建账号
- 2.5 slave my.cf配置
- 2.6 启动slave
- 2.7 手动同步
- 三 启动主从
- 3.1 Slave启动主从服务
- 3.2 验证主从
一 基础环境
|
主机名
|
系统版本
|
MySQL版本
|
主机IP
|
|
master
|
CentOS 6.8
|
MySQL 5.6
|
172.24.8.10
|
|
slave01
|
CentOS 6.8
|
MySQL 5.6
|
172.24.8.11
|
二 实际部署
2.1 安装MySQL

1 [root@Master ~]# yum list installed | grep mysql #查看是否存在其他MySQL组件
2 [root@Master ~]# yum -y remove mysql-libs.x86_64 #为避免冲突引发报错,卸载已存在的组件
3 [root@Master ~]# wget http://repo.mysql.com/mysql-community-release-el6-7.noarch.rpm
4 [root@Master ~]# rpm -ivh mysql-community-release-el6-7.noarch.rpm
5 [root@Master ~]# yum install mysql-community-server -y
6 [root@Master ~]# chkconfig --list | grep mysqld #查看MySQL是否加入启动项
7 [root@Master ~]# chkconfig mysqld on

2.2 初始化MySQL

1 [root@Master ~]# service mysqld start
2 [root@Master ~]# mysql_secure_installation
3 [root@Master ~]# service iptables stop
4 [root@Master ~]# chkconfig iptables off
5 [root@Master ~]# vi /etc/sysconfig/selinux
6 SELINUX=disabled

2.3 master my.cf配置

1 [root@Master ~]# vi /etc/my.cnf
2 [mysqld]
3 ……
4 server-id=1 #设置主服务器master的id
5 log-bin=mysql-bin #配置二进制变更日志命名格式


1 # 不同步哪些数据库
2 binlog-ignore-db = mysql
3 binlog-ignore-db = test
4 binlog-ignore-db = information_schema
5 # 只同步哪些数据库,除此之外,其他不同步
6 binlog-do-db = mysqltest

2.4 创建账号

1 [root@Master ~]# mysql -uroot -p
2 Enter password:
3 mysql> grant replication slave on *.* to 'repl_user'@'172.24.8.11' identified by 'x12345678';
4 mysql> flush privileges;
5 [root@Master ~]# service mysqld restart
6 [root@Master ~]# mysql -uroot -p
7 Enter password:
8 mysql> show master status;


2.5 slave my.cf配置

1 [root@Master ~]# vi /etc/my.cnf
2 [mysqld]
3 server-id=2 #设置从服务器slave的id
4 log-bin=mysql-bin #如果此slave是其他slave的master,则此项也必须开启
5 relay_log=mysql-relay-bin #配置二进制relay日志命名格式
6 log_slave_updates=1 #表示slave将复制事件写进自己的二进制日志
7 read_only=1

2.6 启动slave

1 [root@Slave01 ~]# service mysqld restart
2 [root@Slave01 ~]# mysql -uroot -p
3 Enter password:
4 mysql> change master to master_host='172.24.8.10',
5 -> master_user='repl_user',
6 -> master_password='x12345678',
7 -> master_log_file='mysql-bin.000001',
8 -> master_log_pos=120;
9 mysql> show slave status\G #查看slave状态
10 ……
11 Slave_IO_State:
12 Master_Host: 172.24.8.10
13 Master_User: repl_user
14 Master_Port: 3306
15 Connect_Retry: 60
16 Master_Log_File: mysql-bin.000001
17 Read_Master_Log_Pos: 120
18 Relay_Log_File: =mysql-relay-bin.000001
19 Relay_Log_Pos: 4
20 Relay_Master_Log_File: mysql-bin.000001
21 Slave_IO_Running: No
22 Slave_SQL_Running: No
23 ……
24 Exec_Master_Log_Pos: 120
25 Relay_Log_Space: 120
26 ……
27 Seconds_Behind_Master: NULL
28 Master_SSL_Verify_Server_Cert: No
29 Master_Info_File: /var/lib/mysql/master.info
30 SQL_Delay: 0
31 SQL_Remaining_Delay: NULL
32 Slave_SQL_Running_State:
33 Master_Retry_Count: 86400
34 ……

2.7 手动同步
三 启动主从
3.1 Slave启动主从服务

1 [root@Slave01 ~]# service mysqld restart
2 [root@Slave01 ~]# mysql -uroot -p
3 Enter password:
4 mysql> start slave;
5 mysql> show slave status\G #查看slave状态
6 ……
7 Slave_IO_State: Waiting for master to send event
8 Master_Host: 172.24.8.10
9 Master_User: repl_user
10 Master_Port: 3306
11 Connect_Retry: 60
12 Master_Log_File: mysql-bin.000001
13 Read_Master_Log_Pos: 120
14 Relay_Log_File: =mysql-relay-bin.000001
15 Relay_Log_Pos: 283
16 Relay_Master_Log_File: mysql-bin.000002
17 Slave_IO_Running: YES
18 Slave_SQL_Running: YES
19 ……
20 Exec_Master_Log_Pos: 120
21 Relay_Log_Space: 120
22 ……
23 Master_Info_File: /var/lib/mysql/master.info

3.2 验证主从

1 [root@Master ~]# mysql -uroot -p
2 Enter password:
3 mysql> create database mysqltest;
4 mysql> use mysqltest;
5 mysql> create table user(id int(5),name char(10));
6 mysql> insert into user values (00001,'zhangsan');
7 在Slave从服务器上进行验证:
8 [root@Master ~]# mysql -uroot -p
9 Enter password:
10 mysql> show databases;
11 mysql> select * from mysqltest.user;



1 mysql> reset slave;
MySQL高可用主从复制部署的更多相关文章
- 002.MySQL高可用主从复制部署
一 基础环境 主机名 系统版本 MySQL版本 主机IP master CentOS 6.8 MySQL 5.6 172.24.8.10 slave01 CentOS 6.8 MySQL 5.6 17 ...
- 003.MySQL高可用主从复制新增slave
一 基础环境 主机名 系统版本 MySQL版本 主机IP master CentOS 6.8 MySQL 5.6 172.24.8.10 slave01 CentOS 6.8 MySQL 5.6 17 ...
- MySQL高可用主从复制新增slave
原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 基础环境 二 新增slave2方案 2.1 方案1:-复制主库 2.2 方案2 ...
- 001.MySQL高可用主从复制简介
一 简介 1.1 概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布在多个系统之上,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves ...
- MySQL高可用主从复制简介
原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 简介 1.1 概述 二 技术原理 2.1 支持的复制类型 2.2 技术特点 2 ...
- MySQL高可用方案-PXC环境部署记录
之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一.基于主从复制的高可用方案:双节点主从 + keepalived 一般来说, ...
- MySQL高可用方案MHA的部署和原理
MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一 ...
- MySQL高可用架构-MHA环境部署记录
一.MHA介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司) ...
- 基于PXC的MySQL高可用环境简单部署
PXC简介 Percona XtraDB Cluster(简称PXC集群)提供了MySQL高可用的一种实现方法. 1.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上. 2.每个节 ...
随机推荐
- 使用JavaScript输出带有边框的乘法表
在学习JavaScript(以下简称为js)过程中,会遇到输出9*9乘法表的问题,我们都知道利用双重for循环可以很简单的在网页中打印出来,可是你在做的过程中有没有想着给这个乘法表加一点花样呢? 下面 ...
- jvm源码解读--13 gc_root中的栈中oop的mark 和copy 过程分析
粘贴源码 package com.test; import java.util.Random; public class Test { static int number=12; private in ...
- 文件上传靶机DVWA和upload-labs
DVWA靶机 LOW <?php phpinfo() ?> 上传文件 Medium级别 修改Content-Type: application/octet-stream的值为jpg的格式为 ...
- 自学linux——17.selinux的了解及使用
SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统.对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统. 1.S ...
- 几个垃圾XSS
遇见帅比厂商就离谱.... 这个厂商就挖了几个反射XSS,幸亏没有浪费太多时间 嗯 有的有waf.有的没有就离谱 可以看见可以解析的,但是他的这个站,遇见关键函数就自己跳转了.然后去寻找下别的标签fu ...
- 文件上传之WAF绕过及相安全防护
文件上传在数据包中可修改的地方 Content-Disposition:一般可更改 name:表单参数值,不能更改 filename:文件名,可以更改 Content-Type:文件 MIME,视情况 ...
- Android开发没有一技之长就废了吗?
写在前面的话 不知你发现没有,人到中年之后,时间流逝的速度仿佛越来越快? 还记得毕业那会儿,我们怀着新鲜和好奇踏进了职场,那个时候每天都是满满的挑战和需要学习的东西,感觉时间过得真慢啊: 不知道从什么 ...
- 编程熊讲解LeetCode算法《二叉树》
大家好,我是编程熊. 往期我们一起学习了<线性表>相关知识. 本期我们一起学习二叉树,二叉树的问题,大多以递归为基础,根据题目的要求,在递归过程中记录关键信息,进而解决问题. 如果还未学习 ...
- Linux线程同步之读写锁(rwlock)
读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程.当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步, 和 ...
- MySQL-02-体系结构
MySQL体系结构 c/s模型介绍 连接MySQL # TCP/IP方式(远程.本地) mysql -uroot -pAlnk123 -h 10.0.0.51 -P3306 # Socket方式(仅本 ...