数据库同步工具
sqlserver,Mysql数据同步软件

[两个数据库数据要同步用什么方法]Docker方法运用九-数据库的主从同步

购买事宜请联系QQ:1793040

(将数据库数据复制到指定文件的命令)

mysql-uroot-p password-Dbeifen \ lt;/home/src/ChengduBeauty/media/mysql/20190622-114159/beauty.sql

数据库主从同步配置

##### 1.什么是主从同步的重要性?

+主从同步允许将数据从一台数据库服务器复制到另一台服务器。复制数据时,一台服务器充当主服务器,其余服务器充当从属服务器。由于复制是异步的,因此从服务器不必一直连接到主服务器,并且从服务器甚至可以通过拨号间歇性地连接到主服务器。通过配置文件,您可以指定复制所有数据库,一个数据库,甚至复制数据库上的一个表。

#####其次,使用主从服务器的好处

+ **通过添加从属服务器来提高数据库的性能**,在服务器上执行写入和更新主服务器,提供从服务器到外部的读取功能,可以动态调整从服务器的数量,从而调整整个数据库的性能。

+ **提高数据安全性**,因为数据已复制到从属服务器,所以从属服务器可以终止复制过程,因此您可以在从属服务器上进行备份而不会破坏相应的数据主服务器

+在主服务器上生成实时数据,并分析从服务器上的数据,以**提高主服务器的性能**

## ###三,机制

+ Mysql服务器之间的主从同步基于二进制日志机制。主服务器使用二进制日志来记录数据库更改,而从服务器通过读取和执行日志文件来使数据与主服务器保持一致。

+使用二进制日志时,将记录主服务器的所有操作,然后从服务器将收到日志的副本。在服务器上,您可以指定要在日志中执行的事件类型(例如,仅插入数据或仅更新数据)。默认情况下,将执行日志中的所有语句。

#####第四,配置主从同步的基本步骤

有很多方法可以配置主从同步,可以概括为以下步骤

+在主服务器上,必须启用二进制日志机制并配置一个独立的ID

+在每个从属服务器上,配置一个唯一的ID并创建一个帐户以专门复制数据在主服务器上

+在开始复制过程之前,在主服务器上记录二进制文件的位置信息

+如果在开始复制之前数据库中已经有数据,首先必须创建一个数据快照(可以使用mysqldump导出数据库,或直接复制数据文件)####第五,配置方法

友好提醒:本文打开了三个终端,您可以先看以下内容,直接打开三个终端,不要感到困惑哦!

?镜像拉

+“`python

docker load-i mysql_docker_5722.tar

? “`

要运行mysql docker镜像,您需要在主机上为mysql容器创建一个文件目录以保存数据并读取配置文件。

在主目录(/home/python)中创建一个目录,并将mysql配置文件放置在该目录中

“`shell

cd

mkdir mysql_slave

cd mysql_slave

mkdir数据

cp-r/etc/mysql/mysql.conf.d https://www.jianshu.com/p/

“`

**我们想将docker运行的mysql作为从属服务器运行,我们需要在启动前修改配置文件。 **

编辑/mysql_slave/mysql.conf.d/mysqld.cnf文件,修改

“`python

端口? =? 8306#端口可以自由配置

general_log? = 0#不输出日志

服务器ID? = 2 设置从属服务器ID,必须唯一,可以是IP地址的最后一位

主服务器服务器ID? = 1,不一样! ! ! ! !

“`

**我们让此mysql在端口8306上运行**,并且mysql的编号为2

创建一个docker容器

“`shell?组态?从服务器

docker run–name mysql-slave-e MYSQL_ROOT_PASSWORD = mysql-d–network = host-v/home/pyvip/mysql_slave/data:/var/lib/mysql-v/home/pyvip/mysql_slave/mysql.conf.d:/etc/mysql/mysql.conf.d? mysql:5.7.22

docker容器rm mysql-slave #删除此容器命令! ! !

“`mysql-slave主服务器? MYSQL_ROOT_PASSWORD = mysql?密码?-d创建预付款容器以在后台

路径中运行?版本

来自数据库终端

新创建的终端窗口打开主数据库

主数据库

数据文件是命令刚刚映射的数据

测试,在ubuntu中使用mysql命令尝试连接到Docker容器中的mysql

“`shell

mysql-uroot-pmysql-h 127.0.0.1–port = 8306

“`

######秒,备份原始主服务器。有数据到从服务器

“`shell

mysqldump-uroot-pqwe123–all-databases–lock-all-tables \\ gt;/master_db.sql

“`

+–all-databases:导出所有数据库

+–lock-all-tables:锁定所有操作过程中使用表以防止操作有时会修改数据

+/master_db.sql:导出的备份数据(sql文件)的位置,您可以自己指定它

新的第三终端

######第三,将数据导入docker容器

“`shell

mysql-uroot-pmysql-h127.0.0.1–port = 8306 \\ lt00;/master_db.sql

“`

退出辅助数据库,您可以看到主数据库已备份到辅助服务器 p>

######四,3)配置主服务器主服务器(在Ubuntu中为MySQL)

“`shell

sudo vim/etc/mysql/mysql.conf.d/mysqld.cnf

“`

+根据情况修改server-id = 1

+ log-bin

重新启动mysql服务

“`shell

sudo服务mysql重新启动

“`

登录到主服务器Ubuntu中的mysql,并创建一个用于同步服务器中数据的帐户

“`shell

mysql –uroot –pqwe123

授权复制从属*。 * TO” slave” @”%”由” slave”标识;主服务器授权从服务器

FLUSH PRIVILEGES; 刷新

“`

**获取主服务器的二进制日志信息**

“`sql

SHOW MASTER状态;

“`

+ ** File是使用的日志文件的名称,Position是使用的文件位置,必须注意这两个参数,在配置时将使用它们从服务器。 **

#####配置从属设备(在docker中为mysql)

在docker中输入mysql

“`shell””

>

mysql-uroot-pmysql-h 127.0.0.1–port = 8306

“`

“`sql

将master更改为master_host =” 127.0.0.1″,master_user =” slave”,master_password =” slave”,master_log_file =” mysql-bin.000006″,master_log_pos = 590;

“`老师是000005 2012

-master_host:主服务器Ubuntu的IP地址!!

-master_log_file:之前查询的主服务器日志文件的名称!!!

-master_log_pos:先前查询的主服务器日志文件的位置!!

**启动从属服务器并检查同步状态**

“`shell

启动同步启动从属; #停止从属数据同步(如有必要)停止从属

显示从站状态\\\\ GView从站信息

“`

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » [两个数据库数据要同步用什么方法]Docker方法运用九-数据库的主从同步

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们