阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL主从复制部署

414次阅读
没有评论

共计 3576 个字符,预计需要花费 9 分钟才能阅读完成。

阅读目录

  • 前言
  • 一、系统规划
    • 1、主服务器
    • 2、从服务器
  • 二、安装准备
    • 1、存储
    • 2、网络
    • 3、NTP
    • 4、其他
    • 5、安装 MySQL
  • 三、主服务器配置
    • 1、准备测试数据
    • 2、设置 my.cnf 参数
      • (1)拷贝配置文件
      • (2)参数设置
      • (3)重启服务器
    • 3、为 slave 用户添加同步专用权限
      • (1)创建复制账户并赋权
      • (2)添加管理用户
      • (3)刷新权限
  • 四、从服务器设置
    • 1、设置 my.cnf 参数
      • (1)备份配置文件
      • (2)修改参数信息
      • (3)重启服务器
  • 五、数据库备份、同步
    • 1、对数据库进行备份
    • 2、配置从服务器连接主服务器同步
      • (1)、获取主服务器二进制日志信息
      • (2)设置从服务器同步
    • 3、同步验证
  • 错误
    • 1、启动从服务器失败

前言

MySQL 的主从复制是基于二进制日志机制的,需开启二进制日志功能。在具体的配置过程中,需注意主服务器与从服务器均配置唯一 ID 编号,且从服务器必须设置主服务器的主机名、日志文件名、文件位置等参数。整个过程可分为如下几个步骤:

(1)主服务器:开启二进制日志功能,设置服务器 ID,并重启 MySQL 服务;

(2)在所有从服务器上设置服务器 ID(唯一);

(3)在主服务器上为不同的从服务器创建可读取主服务器日志文件的账户,或使用统一账户;

一、系统规划

 

1、主服务器

操作系统版本: RHEL 6.6 x64

数据库版本: MySQL 5.6

主机 IP:192.168.152.129

主机名:master

数据库名称:

ID 编号:1

 

2、从服务器

操作系统版本:RHEL 6.6 x64

数据库版本:MySQL 5.6(必须保证 MySQL 版本一致)

主机 IP:192.168.152.128

主机名:slave

数据库名称:

ID 编号:2

注:本文为个人学习之用,使用虚拟机模拟,可作为实施参考。

二、安装准备

 

1、存储

需要根据实际情况,为源数和目标端数据库分配足够的可用空间

 

2、网络

需要开通源端和目标端服务器的 any-any 的网络端口互通性

 

3、NTP

需要同步源和目标主机时钟同步机制,若为内网环境,推荐配置内网时钟服务器

 

4、其他

配置静态 IP、主机名、IP 与主机名绑定、防火墙(开启端口或关闭防火墙)

 

5、安装 MySQL

      为主服务器和从服务器安装 MySQL,须保证两者版本一致,或者 slave 端版本高于 master 版本。

三、主服务器配置

 

1、准备测试数据

准备测试数据,模拟要同步对象。

mysql> create database hr;

mysql> use hr;

mysql> create table emp(id int primary key,name char(20));

mysql> insert into emp(id,name) values(1,’tom’);

 

2、设置 my.cnf 参数

 

(1)拷贝配置文件

# cp /usr/local/mysql/my.cnf /etc/my.cnf

如有必要,应注意备份配置文件,并且在生产活动懂养成备份的意识。

 

(2)参数设置

以下仅列出几个必要参数:

log-bin=mysql-bin             启用二进制日志
server-id=1                        服务器 ID,可 1 - 之间的任意整数
binlog-ignore-db=information_schema           避免同步的数据库
binlog-ignore-db=performance_schema 
binlog-ignore-db=mysql
binlog-do-db=hr                       二进制需要同步的数据库名 

注意:在配置文件中不可使用 skip-networking 参数,否则从服务器将无法连接主服务器并进行数据同步

 

(3)重启服务器

# service mysqld restart
 

3、为 slave 用户添加同步专用权限

 

(1)创建复制账户并赋权

mysql> GRANT FILE ON *.* TO 'slave_cp'@'192.168.1.2' IDENTIFIED BY 'root';

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_cp'@'192.168.1.2' IDENTIFIED BY 'root';

mysql> FLUSH PRIVILEGES;
 

(2)添加管理用户

grant all privileges on *.* to admin@'%' identified by 'root';
 

(3)刷新权限

flush privileges; 

四、从服务器设置

 

1、设置 my.cnf 参数

 

(1)备份配置文件

# cp /usr/local/mysql/my.cnf /etc/my.cnf
 

(2)修改参数信息

必要参数如下:

log-bin=mysql-bin

server-id=2                       #从服务器 ID

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=mysql

replicate-do-db=hr                 #同步的数据库名

replicate-ignore-db=mysql        #屏蔽不同步的数据库

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

注:MySQL 5.6 之后没有 master-user 等参数,否则重启报错

(3)重启服务器

# service mysqld restart

五、数据库备份、同步

 

1、对数据库进行备份

[root@master mysql]# /usr/local/mysql/bin/mysqldump -h localhost -uroot -proot --all-databases --lock-all-tables >/tmp/dbdump.sql
[root@master mysql]# scp /tmp/dbdump.sql root@slave:/tmp/
[root@slave ~]# mysql -u root -p < /tmp/dbdump.sql

注:从服务器不需要创建要同步的数据库,备份脚本会自动创建。

 

2、配置从服务器连接主服务器同步

 

(1)、获取主服务器二进制日志信息

[root@master mysql]# mysql -uroot -p

Enter password:
mysql> flush tables with read lock;        -- 只读锁定
mysql> show master status;
mysql> unlock tables;                       -- 解除锁定 
 

(2)设置从服务器同步

[root@slave ~]# mysql -u root –p

mysql> stop slaves;

mysql> change master to
    -> master_host='192.168.152.129',
    -> master_user='slave_cp',
    -> master_password='root',
    -> master_log_file='mysql-bin.000003',
    -> master_log_pos=195;                 -- 这里的参数取值参考查询到的 master 日志信息 

mysql> start slave;
mysql> show slave status \G
 

3、同步验证

在 master 上添加数据,查看 slave 端的同步情况。

master 节点:

[root@master ~]# mysql -uroot -p
mysql> create database test;
mysql> use test;
mysql> create table users(id int primary key,name char(20));
mysql> insert into users(id,name)values(1,'aa');
mysql> use hr;
mysql> show tables;
mysql> create table bb(id int,name char(20));
mysql> insert into emp(id,name)values(2,'bb');

 slave 节点:

[root@slave ~]# mysql -uroot -p
mysql> select * from test.users;
 

错误

 

1、启动从服务器失败

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

解决:

mysql> reset slave;

mysql> change master to master_host='192.168.152.129',
master_user='slave_cp',master_password='root',master_log_file='mysql-bin.000005',
master_log_pos=610;
mysql> start slave;

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-09/146728.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3576字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7794746
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流!

CSDN,你是老太太喝粥——无齿下流! 大家好,我是星哥,今天才思枯竭,不写技术文章了!来吐槽一下 CSDN。...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...