快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

大数据集群之MySQL5.7主从复制

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

首先,安装MySQL数据库并启动

1.在MySQL官方网站(https://dev.mysql.com/downloads/mysql/)上下载相应的安装包

2.将MySQL压缩文件解压缩到安装目录

 [root @ Hexindai-C12-120软件]   ll/导出/软件/

总计820192

-rw-r--r--。 1 root root 8409 Jul 1 14:27 jce_policy-8 。压缩

-rw-r--r--。 1 root root 194990602 Jul 1 14:55 jdk-8u211-linux- x64.tar.gz

-rw-r--r--。 1个根root 644869837 Jul 1 17:56 mysql-5.7.26-linux-glibc2.12- x86_64.tar.gz

[root @ Hexindai-C12-120软件]

[root @ Hexindai-C12-120软件] tar zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz-C/导出/服务器/

[root @ Hexindai-C12-120服务器] mv mysql-5.7.26-linux-glibc2。 12-x86_64/mysql

[root @ Hexindai-C12-120服务器] mkdir/export/data/mysql-p

[root @ Hexindai-C12-120服务器] ll/导出/服务器/mysql/

总共36个

drwxr -xr-x。 2 root root 4096 Jul 1 18:03 bin

-rw-r--r--。 1 7161 31415 17987 Apr 13 21:32 复制

drwxr -xr-x。 2 root root 55 Jul 1 18:03 文档

drwxr -xr-x。 3 root root 4096 Jul 1 18:03 包括

drwxr -xr-x。 5 root root 230 Jul 1 18:03 lib

drwxr -xr-x。 4 root root 7 Jul 1 18:03 男人

-rw-r--r--。 1 7161 31415 2478 4月13日21:32 自述文件

drwxr -xr-x。 28 root root 4096 Jul 1 18:03 分享

drwxr -xr-x。 2 root root 90 Jul 1 18:03 support-文件

[root @ Hexindai-C12-120服务器]

[root @ Hexindai-C12-120服务器] vim/etc/profile#添加mysql环境变量

[root @ Hexindai-C12-120服务器] tail-2/etc/profile

PATH = $ PATH : $ HOME /bin:/导出/服务器/mysql/bin/

导出路径

[root @ Hexindai-C12-120服务器]

[root @ Hexindai-C12-120服务器] 源/etc/profile

[root @ Hexindai-C12-120服务器]

3.创建一个MySQL用户,并将解压缩后的MySQL程序文件授权给mysql用户。

 root @ hexindai-c12-121]   useradd-s/sbin/nologin mysql 

[root @ hexindai-c12-121] id mysql

uid = 1000(mysql)gid = 1000(mysql)组= 1000 (mysql)

[root @ hexindai-c12-121] chown-R mysql.mysql/导出/服务器/mysql/

[root @ hexindai-c12-121] chown-R mysql.mysql/export/data/mysql/

[root @ hexindai-c12-121]

4.初始化MySQL数据库

在安装之前,让我们安装mysql依赖库:libaio.so.1,如果未安装,则在执行mysql命令时会提示以下错误:

 [root @ hexindai-c12-120]   mysqld 

mysqld:错误 加载共享库时:libaio.so.1:无法打开共享对象文件:没有这样的文件或目录

安装依赖库libaio:

 [root @ hexindai-c12-120]   yum-y install libaio * 

加载的插件:最快的镜像

从缓存的主机文件加载镜像速度

epel /x86_64/metalink | 7.5 kB 00:00:00

* 基础:mirrors.aliyun.com

* epel:mirrors.aliyun.com

* 其他:mirrors.aliyun.com

* 更新:mirrors.aliyun.com

基本 | 3.6 kB 00:00:00

epel | 5.3 kB 00:00:00

临时演员 | 3.4 kB 00:00:00

更新 | 3.4 kB 00:00:00

( 1/3):epel/x86_64/updateinfo | 976 kB 00:00:00

( 2/3):更新/7/x86_64/primary_db | 6.5 MB 00:00:00

( 3/3):epel/x86_64/primary_db | 6.7 MB 00:00:01

解决依赖关系

-\ gt; 正在运行事务检查

---\ gt;软件包libaio.x86_64 0:0.3.109-13 。将安装el7

---\ gt;软件包libaio-devel.x86_64 0:0.3.109-13 。将安装el7

-\ gt; 完成的依赖性解析

解决依赖性

============================================== ==== ============================================== ==== ============================================== ==== ============================================== ==== =

软件包Arch版本库大小

============================================== ==== ============================================== ==== ============================================== ==== ============================================== ==== =

安装:

libaio x86_64 0.3.109-13.el7 base 24 k

libaio -devel x86_64 0.3.109-13.el7 base 13 k

交易摘要

============================================== ==== ============================================== ==== ============================================== ==== ============================================== ==== =

安装 2 软件包

下载总大小: 37 k

安装尺寸: 46 k

下载包:

( 1/2):libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00

( 2/2):libaio-devel-0.3.109-13.el7.x86_64.rpm | 13 kB 00:00:00

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<跨度样式="颜色:#000000;">

总计 395 kB/s | 37 kB 00:00:00

运行交易检查

运行交易测试

交易测试成功

正在运行的交易

安装:libaio -0.3.109-13.el7.x86_64 1/2

安装:libaio -devel-0.3.109-13.el7.x86_64 2/2

验证:libaio -0.3.109-13.el7.x86_64 1/2

验证:libaio -devel-0.3.109-13.el7.x86_64 2/2

已安装:

libaio.x86_64 0:0.3.109-13.el7 libaio-devel.x86_64 0:0.3.109-13 。 el7

完成!

[root @ hexindai-c12-120]

[root @ hexindai-c12-120]#yum-y install libaio *

初始化MySQL数据库

 [root @ hexindai-c12-120]   mysqld--initialize--user = mysql--basedir =/导出/服务器/mysql/--datadir =/导出/数据/mysql/\ 

[1] 16118

[root @ hexindai-c12-120] 2019-07-02T01:41 :17.524750Z 0 [警告]不建议使用带有默认值DEFAULT的TIMESTAMP。请使用--explicit_defaults_for_timestamp服务器选项(有关更多详细信息,请参阅文档)。

2019-07-02T01:41:17.636642Z 0 [警告] InnoDB:创建了新的日志文件,LSN = 45790

2019-07-02T01:41:17.672810Z 0 [警告] InnoDB:创建外键约束系统表。

2019-07-02T01:41:17.725802Z 0 [警告]找不到现有的UUID,因此我们假设这是第一次启动此服务器。生成新的UUID:7c4adbc4-9c6a-11e9-b107- 000c29b54df2。

2019-07-02T01:41:17.726171Z 0 [警告] Gtid表尚未准备就绪。表" mysql.gtid_executed"无法打开。

2019-07-02T01:41:17.726856Z 1 [注意]生成一个临时密码 根@本地主机:oenu_Tid4 + xz

[ 1] +完成mysqld--initialize--user = mysql--basedir =/export/servers/mysql/-datadir =/export/data/mysql/

[root @ hexindai-c12-120]
[root @ hexindai-c12-120]#ll/export/数据/mysql/
总计110628
-rw-r-----。 1个mysql mysql 7月56日2 09:41 auto.cnf
-rw-r-----。 1个mysql mysql 419年7月2 09:41 ib_buffer_pool
-rw-r-----。 1个mysql mysql 12582912 Jul \\ 2 09:41 ibdata1
-rw-r-----。 1个mysql mysql 50331648 Jul \\ ubsp; 2 09:41 ib_logfile0
-rw-r-----。 1个mysql mysql 50331648 Jul \\ ubsp; 2 09:41 ib_logfile1
drwxr-x---。 2 mysql mysql 4096年7月2 09:41 mysql
drwxr-x---。 2个mysql mysql 8192年7月2 09:41 performance_schema
drwxr-x---。 2 mysql mysql 8192年7月2 09:41 sys
[root @ hexindai-c12-120]#

5.修改MySQL的配置文件

 [root @ hexindai-c12-120]   grep-v" ^ $"/等/my.cnf 

[mysqld]

basedir =/导出/服务器/ mysql

datadir =/导出/数据/ mysql

socket =/var/lib/mysql/mysql.sock

套接字=/导出/数据/mysql/ mysql.sock

log -bin = cdh-mysql- bin

服务器-id = 120

建议禁用符号链接以防止各种各样的安全风险

符号链接= 0

使用systemd时,将忽略设置用户和组。

如果需要在其他用户或组下运行mysqld,

根据 为mariadb自定义系统单位文件

http://fedoraproject.org/wiki/Systemd 中的说明

[mysqld_safe]

log-error =/var/log/mariadb/mariadb.log

pid文件=/var/run/mariadb/mariadb.pid

日志错误=/导出/数据/mysql/ mysql.log

pid -file =/导出/数据/mysql/ mysql.pid

包含配置目录中的所有文件

##

! includedir/etc/ my.cnf.d

[root @ hexindai-c12-120]

6.启动MySQL服务

 [root @ hexindai-c12-120]   cp/export/servers/mysql/支持文件/mysql.server/etc/init.d/

[root @ hexindai-c12-120] /etc/init.d/mysql.server start

启动MySQL。登录到"/export/data/mysql/ mysql.log"。

成功!

[root @ hexindai-c12-120]

[root @ hexindai-c12-120] /etc/init.d/mysql.server状态

成功! MySQL正在运行(17544

[root @ hexindai-c12-120]

7.登录到MySQL数据库并初始化管理员密码

 [root @ hexindai-c12-120]   mysql-uroot-p 

输入密码:

错误 2002(HY000):无法"通过套接字连接到本地MySQL服务器"/tmp/mysql.sock"(2

[root @ hexindai-c12-120] ls/导出/数据/mysql/

auto.cnf cdh-mysql-bin.index ib_buffer_pool ib_logfile0 ibtmp1 mysql.log mysql.sock.lock sys/

cdh -mysql-bin.000001 hexindai-c12-120.pid ibdata1 ib_logfile1 mysql/mysql.sock performance_schema/

[root @ hexindai-c12-120] ln-s/导出/数据/mysql/mysql.sock/tmp/#上面的登录提示表示/tmp目录中没有mysql.sock文件,只需建立一个软链接

[root @ hexindai-c12-120] mysql-uroot-p

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 2

服务器版本: 5.7.26-日志

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt; 更改由" wtnyihg"标识的用户user(); #修改管理员密码;

查询确定,受影响的0行(0.00 秒)

mysql \ gt; 退出

再见

[root @ hexindai-c12-120] mysql-uroot-p #quit重新验证修改后的密码是否有效

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 3

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000,2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。
mysql \ gt;显示类似"%server_id%"的变量; #查看当前服务器的servier_id
+----------------+-------+
| Variable_name \ |值|
+----------------+-------+
| server_id | 120 \ ----+-------+
设置2行(0.00秒)

mysql \ gt; ^ DBye

[root @ hexindai-c12-120]

8.在另一台服务器上执行相同的操作以构建MySQL从属库

其次,MySQL复制概述

1.MySQL复制简介

(1 )MySQL复制允许将主实例上的数据同步到一个或多个从实例上。默认情况下,复制是异步的。是,从属库不需要始终连接到主库来同步数据。

( 2 )MySQL复制的数据粒度可以是主实例上的所有数据库,也可以是一个或多个指定的数据库,也可以是一个数据库指定的表。

( 3 )MySQL复制的优点是:

扩展性:

通过复制,MySQL的性别可以分为一个或多个从属。这就要求所有写操作和修改操作必须在主服务器上完成,并且读操作可以分配给一个或多个从属服务器。将读写分为不同的服务后,MySQL的读写性能得到了提高。

数据库备份:

由于使用从属实例时,主实例的数据是同步的,因此可以将备份作业部署到从属数据库。

数据分析和报告:

同样,可以从实例执行某些数据分析和报告实现,以减少对主库的性能影响。

容灾能力:

您可以在长距离的另一个数据上创建一个从属服务器,以确保在主实例所在的区域发生灾难时,可以在另一个数据中心中快速恢复。

2.MySQL复制有两种方法

(1 )传统方式

根据主库的bin - log将日志事件和事件位置复制到从属库,然后应用从属库来达到主用目的-从属同步。

( 2

全局事务标识符基于复制数据的事物,因此它不依赖于日志文件,同时可以更好地保证主数据库和从数据库的数据一致性。

3.MySQL复制有很多类型

(1 )异步复制

一个主库,一个或多个从属库,将数据异步同步到该从属库。

( 2 )同步复制

MySQL群集中的唯一复制方法。

( 3 )半同步复制

在异步复制的基础上,确保在提交之前,主库中的至少一个从属已接收到该事务并记录了该事务。

( 4 )复制延迟

在异步复制的基础上,人为设置主备库的数据同步延迟时间,即确保数据延迟至少为该参数。

4.MySQL的复制原理

 如上所示,MySQL复制的原理总结如下:

( 1 )在从属服务器上执行sart slave命令以打开主-从复制开关并启动主-从复制。

( 2 )此时,从属服务器的IO线程将请求通过已在主服务器上授权的复制用户权限来连接到主服务器。 ,并请求执行binlog日志文件指定位置(配置主从复制服务时执行change master命令时指定了日志文件名和位置)开始发送binlog日志内容

( 3 )在主服务器收到从属服务器的IO线程的请求后,二进制转储IO线程将根据从属服务器的IO批处理。 IO线程请求信息在指定binlog日志文件中指定位置之后读取binlog日志信息,然后将其返回给从IO线程。除了binlog日志的内容外,返回的信息还包含在主服务器端记录的新binlog文件的名称,以及新binlog中的下一个指定更新位置。

( 4)当从服务器的IO线程获取主服务器上IO线程发送的日志内容,日志文件和位置点时,它将binlog日志内容写入从方的中继日志中依次在文件(MySQL-relay-bin.xxx)的末尾登录),并在master-信息文件中记录新的binlog文件名和位置。下次您读取主Binlog时,新的binlog日志可以告诉主服务器从指定文件和新binlog日志的位置读取新binlog日志的内容。

( 5)从服务器的SQL线程将实时检测本地中继日志中IO线程新添加的日志内容,然后及时将中继日志文件的内容解析为SQL语句,并在其自己的从属服务器上解析SQL语句的位置按顺序执行此类SQL语句的应用程序,并在relay-log.info

中记录当前应用程序中继日志的文件名和位置点。

5.MySQL复制具有三种核心格式

 复制的工作原理是将数据库修改过程记录在bin日志中并传输给从属服务器,然后将其从本地还原。到bin日志的时间记录格式将有所不同。

基于语句的复制:

在主库的基础上将SQL语句写入bin日志以完成复制。

基于行的复制:

基于主库,数据更改的每一行的信息都会作为完成日志的时间写入bin日志中。默认值为基于行的复制,因为它比语句复制逻辑更为严格。

混合复制(基于混合的复制):

两者的结合。默认情况下,首选基于语句的复制。仅当某些语句未完全基于语句复制时,它才会自动切换到基于行的复制。

 [root @ hexindai-c12-120]   mysql-uroot-p 

mysql:[警告]在命令行界面上使用密码可能不安全。

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 6

服务器版本: 5.7.25-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt;

mysql \ gt;显示变量,例如"%BINLOG_FORMAT%"; 显然,默认值为基于行的复制

+---------------+-------+

|变量名|价值|

+---------------+-------+

| binlog_format |排|

+---------------+-------+

in 设置(0.00

mysql \ gt;

mysql \ gt; SET binlog_format =" STATEMENT"; 我们可以根据以下语句修改副本:

查询正常,受影响的0行(0.00 秒)

mysql \ gt;

mysql \ gt;显示变量,例如"%BINLOG_FORMAT%";

+---------------+-----------+

|变量名|价值|

+---------------+-----------+

| binlog_format |声明

+---------------+-----------+

in 设置(0.00

mysql \ gt;

mysql \ gt; 退出

再见

[root @ hexindai-c12-120]

修改默认的复制模式格式大小写(建议使用默认的基于ROW的复制方法)

修改默认的复制模式格式大小写(建议使用默认的基于ROW的复制方法)

三,基于bin-log主从同步配置MySQL

1.编辑my.cnf配置文件

 [root @ hexindai-c12-120]   cat/etc/my.cnf 

[mysqld]

basedir =/导出/服务器/ mysql

datadir =/导出/数据/ mysql

socket =/var/lib/mysql/mysql.sock

套接字=/导出/数据/mysql/ mysql.sock

log -bin = cdh-mysql- bin

服务器-id = 120

建议禁用符号链接以防止各种各样的安全风险

符号链接= 0

使用systemd时,将忽略设置用户和组。

如果需要在其他用户或组下运行mysqld,

根据 为mariadb自定义系统单位文件

http://fedoraproject.org/wiki/Systemd 中的说明

[mysqld_safe]

log-error =/var/log/mariadb/mariadb.log

pid文件=/var/run/mariadb/mariadb.pid

日志错误=/导出/数据/mysql/ mysql.log

pid -file =/导出/数据/mysql/ mysql.pid

包含配置目录中的所有文件

##

! includedir/etc/ my.cnf.d

[root @ hexindai-c12-120]

[root @ hexindai-c12-120]#cat/etc/my.cnf #Main库

 [root @ hexindai-c12-121]   cat/etc/my.cnf 

[mysqld]

basedir =/导出/服务器/ mysql

datadir =/导出/数据/ mysql

socket =/var/lib/mysql/mysql.sock

套接字=/导出/数据/mysql/ mysql.sock

log -bin = cdh-mysql- bin

服务器-id = 121

建议禁用符号链接以防止各种各样的安全风险

符号链接= 0

使用systemd时,将忽略设置用户和组。

如果需要在其他用户或组下运行mysqld,

根据 为mariadb自定义系统单位文件

http://fedoraproject.org/wiki/Systemd 中的说明

[mysqld_safe]

log-error =/var/log/mariadb/mariadb.log

pid文件=/var/run/mariadb/mariadb.pid

日志错误=/导出/数据/mysql/ mysql.log

pid -file =/导出/数据/mysql/ mysql.pid

包含配置目录中的所有文件

##

! includedir/etc/ my.cnf.d

您在/var/spool/mail/根目录中有新邮件

[root @ hexindai-c12-121]

[root @ hexindai-c12-121]#cat/etc/my.cnf#从库

2.在主库中创建一个专门用于复制的数据库用户,以便所有从库都可以使用此用户连接到主库,并确保该用户仅具有复制权限

 [root @ hexindai-c12-120]   mysql-uroot-p 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 5

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt;创建用户" copy" @" 172.20.102.12%"以" wtnyihg"标识;

查询确定,受影响的0行(0.00 秒)

mysql \ gt;在*上授予复制从属。 *至" copy" @" 172.20.102.12%";

查询确定,受影响的0行(0.00 秒)

mysql \ gt; 退出

再见

[root @ hexindai-c12-120]

 [root @ hexindai-c12-121]   mysql-ucopy-p-h 172.20.102.120-P 3306 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 7

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt; 显示数据库;

+--------------------+

|数据库|

+--------------------+

| information_schema |

+--------------------+

设置中的1行(0.00 秒)

mysql \ gt; 退出

再见

[root @ hexindai-c12-121]

[root @ hexindai-c12-121]#mysql-ucopy-p-h 172.20.102.120-P 3306#验证从从数据库到主库的远程连接是否正常

3.获取主库的日志信息并生成主库数据的镜像

 mysql \> 刷新具有读取锁定的表; #锁定主库中的所有表并停止修改,也就是说,在从库中进行复制,删除,插入语句时,主库无法执行UPDATA!

查询确定,受影响的0行(0.00 秒)

mysql \ gt; 显示主状态;

+----------------------+----------+--------------+------------------+-------------------+

|档案|职位| Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+----------------------+----------+--------------+------------------+-------------------+

| cdh-mysql-bin.000001 | 881 | | | |

+----------------------+----------+--------------+------------------+-------------------+

设置中的1行(0.00 秒)

mysql \ gt;

mysql \ gt;

 [root @ hexindai-c12-120]   mysqldump--all-databases-master-data-u root-p-P 3306 \> cdh-master.db 

输入密码:

[root @ hexindai-c12-120] ls

anaconda-ks.cfg cdh- master.db ens192_eht0.sh ip7.sh UnlimitedJCEPolicyJDK8

[root @ hexindai-c12-120]

[root @ hexindai-c12-120]#mysqldump–all-databases–master-data-u root-p-P 3306 \ gt; cdh-master.db#打开另一个终端生成映像,直到生成完成才释放锁

 mysql \> 

mysql \ gt;解锁表; 释放锁

查询正常,受影响的0行(0.00 秒)

mysql \ gt;

4.将主库的映像复制到从库,然后让从库应用主库映像

 [root @ hexindai-c12-120]   ls 

anaconda-ks.cfg cdh- master.db ens192_eht0.sh ip7.sh UnlimitedJCEPolicyJDK8

[root @ hexindai-c12-120] scp cdh-master.db hexindai-c12-121:/根

无法建立主机" hexindai-c12-121(172.20.102.121 )"的真实性。

ECDSA密钥指纹为SHA256:K7sV / XQWDeUHJWc51L46Z7aj96AytYSy8ZgpaxzVgNA。

ECDSA密钥指纹为MD5:9e:0f: 52:a2:09:2c:c7:58:9d:39:96 :9c:c4:c4:cb:a8。

您确定要 继续连接(是/否)吗?

警告:永久添加了" hexindai -c12-121 "(ECDSA)到已知主机列表。

cdh -master.db 100%774KB 104.9MB/s 00:00

[root @ hexindai-c12-120]

 [root @ hexindai-c12-121]   mysql-uroot-p 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 7

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt;

mysql \ gt; source cdh- master.db;

mysql \ gt;

mysql \ gt;来源cdh-master.db; #将主库的数据镜像应用于从属库

5.在从属库上建立复制关系,即从属库指定的主库的日志信息和链接信息

 [root @ hexindai-c12-121]   mysql-uroot-p 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 7

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt; 更改母版为

-\ gt; master_host =" hexindai-c12-120 ",

-\ gt; master_port = 3306

-\ gt; master_user = " copy",

-\ gt; master_password = " wtnyihg",

-\ gt; master_log_file =" cdh-mysql-bin.000001 ",

-\ gt; master_log_pos = 4095 ;

查询确定,受影响0行,2条警告(0.00 秒)

mysql \ gt;

6.从库开始复制过程

 [root @ hexindai-c12-121]   mysql-uroot-p 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 8

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt; 启动从属;

查询确定,受影响的0行(0.00 秒)

mysql \ gt; 显示从属状态\\\\ G

*************************** 1.行**************** ***********

Slave_IO_State:

Master_Host:hexindai -c12-120

Master_User:复制

Master_Port: 3306

Connect_Retry: 60

Master_Log_File:cdh -mysql-bin.000001

Read_Master_Log_Pos: 4095

Relay_Log_File:hexindai -c12-121-relay-bin.000001

Relay_Log_Pos: 4

Relay_Master_Log_File:cdh -mysql-bin.000001

Slave_IO_Running:否

Slave_SQL_Running:是

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 4095

Relay_Log_Space: 154

直到条件:无

直到日志文件:

until_Log_Pos: 0

Master_SSL_Allowed:否

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master:NULL

Master_SSL_Verify_Server_Cert:否

Last_IO_Errno: 1236

Last_IO_Error:从二进制日志中读取数据时,主机发生致命错误 1236:"客户端请求主机从位置开始复制> 文件大小"

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 120

Master_UUID:7c4adbc4 -9c6a-11e9-b107- 000c29b54df2

Master_Info_File:/export/data/mysql/ master.info

SQL_Delay: 0

SQL_Remaining_Delay:空

Slave_SQL_Running_State:从站已读取所有中继日志;等待 等待 更多更新

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp: 190703 17:03:00

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

检索到的GTid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

频道名称:

Master_TLS_Version:

1行 in 设置(0.00 秒)

mysql \ gt;

第四,创建CDH数据库并验证是否有来自库的数据

1.在主库中创建CDH数据库

 root @ hexindai-c12-120]   mysql-uroot-p 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 12

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt;

mysql \ gt;创建数据库cdh 默认字符集= utf8;

查询确定,受影响1行(0.00 秒)

mysql \ gt;

mysql \ gt;授予CDH所有特权。 *改为" cdh" @" 172.20.102.12%"由带有授权选项的" wtnyihg"标识;

查询正常,受影响0行,1警告(0.01 秒)

mysql \ gt; 显示数据库;

+--------------------+

|数据库|

+--------------------+

| information_schema |

| CDH |

| mysql |

| performance_schema |

| sys |

+--------------------+

设置中的5行(0.00秒秒)

mysql \ gt; 退出

再见

[root @ hexindai-c12-120]

2.观察是否在从属库的服务器上同步了数据

 [root @ hexindai-c12-121]   mysql-uroot-p 

输入密码:

欢迎使用MySQL监视器。命令 结束 with;或\\\\ g。

您的MySQL连接ID是 18

服务器版本: 5.7.26-登录MySQL Community Server(GPL)

版权所有(c) 2000、2019,Oracle和/或其分支机构。版权所有。

Oracle是Oracle Corporation的注册商标,并且/或其

会员。其他名称可能是其各自的商标

拥有者。

键入"帮助;"或" \\\\ h" 获得 帮助。键入" \\\\ c"以清除当前输入语句。

mysql \ gt;

mysql \ gt; 显示数据库;

+--------------------+

|数据库|

+--------------------+

| information_schema |

| CDH |

| mysql |

| performance_schema |

| sys |

+--------------------+

设置中的5行(0.00秒秒)

mysql \ gt;

3.测试完成后,请记住删除CDH库,否则在安装CM时会提示CDH库已经存在的错误。

 mysql \> 删除数据库cdh;

查询确定,受影响的0行(0.00 秒)

mysql \ gt; 显示数据库;

+--------------------+

|数据库|

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

设置了4行 in (0.00行秒)mysql \ gt;

如果数据库中的某些数据未同步,请使用设置。 sql_log_bin = 0;命令在需要操作时暂时阻止binlog,然后再操作!

 例如:

主库有一个aaa库,没有从属库。您需要删除aaa库,在mysql下执行以下命令:

set sql_log_bin = 0 ;

删除数据库aaa;

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638