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

MySQL多线程同步-Transfer解决主从同步延时问题

在线QQ客服:1922638

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

MySQL多线程同步

系统结构:

\

\ 传统的主从结构是\\ n。 [主人] \ agrave; [奴隶],\\ n主从关系

\ 使用传输后,[Master] \ agrave; [转让].–\\ gt; [奴隶],\\ n Master和Transfer主从关系,Transfer和Slave是客户端-服务器关系。

\

服务器环境:

\ 主库:192.168.15.216 (端口3306)

\ 来自库:192.168.15.217 \ (端口3306)

\ 汇款:192.168.15.217 \ (端口3307)

\ MySQL版本:mysql-5.5.18-linux2.6-x86_64.tar.gz

\ 存储引擎:Innodb

\ 数据库:\ rocdata \

\ MySQL-Transfer:基于Transfer.2.1-PS-5.5.18

注意:

\ 转移使用相同的线程更新同一表。如果只有一个表,则性能与本机版本相同。为了反映效果,考虑到在线图书馆有子表,通常16个表或更多,这种情况更容易满足。

\

首先,192.168.15.216主库配置

\ 首先确认在主库上使用了行格式binlog,然后配置/etc/my.cnf:

[客户]

端口 = \ 3306

套接字 = \/tmp/mysql.sock

[mysqld1]

端口 = \ 3306

套接字 = \/tmp/mysql.sock

basedir =/usr/local/mysql

datadir =/mysqldata/

绑定地址= 192.168.15.216

跳过外部锁定

跳过名称解析

用户= mysql

\

max_allowed_packet \ = \ 256M

query_cache_size = 256M

max_connections = 2000

max_connect_errors = 10000

key_buffer_size = 6000M

read_buffer_size = 32M

read_rnd_buffer_size \ = \ 3200万

myisam_sort_buffer_size = 512M

tmp_table_size = 1024M

旧密码

\

Interactive_timeout = 60

wait_timeout = 60

connect_timeout = 60

table_cache = 8192

thread_cache_size = 512

sort_buffer_size = 128M

back_log \ = \ 500

thread_concurrency = 48

expire_logs_days = 10

\

log-bin = mysql-bin

#binlog_format = STATEMENT

binlog_format = ROW

#binlog_format =”混合”

\

#\\ n大师

服务器ID \ = \ 1

binlog-do-db \ = \ rocdata

binlog-ignore-db \ = \ mysql

\

\ 启动MySQL并检查Pos状态。

\

\

\

其次,从库中配置了192.168.15.217。

\ MySQL端口3306和3307,建议区分MySQL。 TDIR目录我的MySQL和Transfer目录:

\ /usr/本地/mysql/

\ /usr/本地/mysql-transfer

\ 将Transfer.2.1-based-PS-5.5.18替换为T安装目录/usr/local/mysql-transfer/bin/下的mysqld。

\ 1.配置端口3306以同步主数据。无需编写主从同步信息,这与单个MySQL配置相同。

\ /usr/local/mysql目录部署MySQL 5.5.18版(真实库),配置/etc/my.cnf:

[mysqld]

端口 = \ 3306

套接字 = \/tmp/mysql.sock

basedir =/usr/local/mysql

datadir =/mysqldata/data3306

绑定地址= 192.168.15.217

跳过外部锁定

跳过名称解析

用户= mysql \\

\

max_allowed_packet \ = \ 256M

query_cache_size = 256M

max_connections = 2000

max_connect_errors = 10000

key_buffer_size = 6000M

read_buffer_size = 32M

read_rnd_buffer_size \ = \ 3200万

myisam_sort_buffer_size = 512M

tmp_table_size = 1024M

旧密码

\

Interactive_timeout = 60

wait_timeout = 60

connect_timeout = 60

table_cache = 8192

thread_cache_size = 512

sort_buffer_size = 128M

back_log \ = \ 500

thread_concurrency = 48

expire_logs_days = 10

\ 启动MySQL。 3306端口并导入数据。在同步传输之前,需要记录Pos点。与传统的主从复制数据相同。

\ 此时端口3306的运行状态。

\

\

\ 2,配置3307转移服务

\ a)在/usr/local/mysql-transfer/目录中部署MySQL (T),版本5.5.18

\ b)附件中的mysqld替换T安装目录/usr/local/mysql-transfer/bin/下的mysqld \

\ c)在/usr/local/mysql-transfer/log下执行目录\对于((i = 0; i = 16; i ++))); 做\ mkdir \ $ i;完成\

\ d)配置/etc/my3307.cnf,进行以下更改:

[mysqld]

端口 = \ 3307

套接字 = \/tmp/mysql3307.sock

basedir =/usr/local/mysql

datadir =/mysqldata/data3307

绑定地址= 192.168.15.217

跳过外部锁定

跳过名称解析

用户= mysql

\

max_allowed_packet \ = \ 1G

query_cache_size = 256M

max_connections = 2000

max_connect_errors = 10000

key_buffer_size = 6000M

read_buffer_size = 32M

read_rnd_buffer_size \ = \ 3200万

myisam_sort_buffer_size = 512M

tmp_table_size = 1024M

旧密码

\

Interactive_timeout = 60

wait_timeout = 60

connect_timeout = 60

table_cache = 8192

thread_cache_size = 512

sort_buffer_size = 128M

back_log \ = \ 500

thread_concurrency = 48

expire_logs_days = 10

\

#tranfer

transfer_slave_thread \ = \ 16

remote_slave_hostname \\ ubsp; = \ 192.168.15.217

remote_slave_username \\ ubsp; = \转移

remote_slave_password \ = \ transferpw

remote_slave_port \\ ub26; = \ 3306

\

中继日志=/usr/local/mysql/log/mysqld-relay-bin \\ ubsp;

relay-log-index \\ n =/usr/local/mysql/log/mysqld-relay-bin.index \

master-info-file \ =/usr/local/mysql/log/master.info

relay-log-info-file =/usr/local/mysql/log/relay-log.info \

log_slave_updates \\ ubsp; = \ 0 \

slave_skip_errors = 1062,1032

\

#奴隶192.168.15.217

服务器ID \ = \ 3

plicate_do_db \ = \ rocdata

复制-忽略-数据库= \ mysql

复制-忽略-数据库= \测试

复制-忽略-数据库= \ information_schema

\ [说明]为传输配置的uname必须具有从属超级权限。
e)转移需要导入一个同步的数据库结构,不需要数据。

\ f)奴隶max_allowed_packet设置为1G (推荐)

\ g)启动Transfer并将其设置为主服务器的从属库

\ 具体步骤:

\

\ 在端口3306上提供Transfer 拥有奴隶超级权限:

\ mysql \ gt; 授予\全部\特权在\上 *。 * \\ n \ bb;.15.217″由\标识”。 transferpw”;

\

\ 汇款复制\ 特权权限在主库192.168.15.216中授予:

\

\ mysql \ gt; 授予\复制\\ n奴隶,重新加载,超级\在\上*”; \ \ bb; *;” ” 192.168.15.217″ \已确定由 ” replpasswd216″;

\

\ 启动Transfer并将其设置为主服务器的从属库:

\ mysql \ gt; 更改\主\至\ MASTER_HOST =” 192.168.15.216″,\ MASTER_PORT = 3306,_STERSTER_PORT = 3306 ,, \ MASTER_PASSWORD =” replpasswd216″,\ MASTER_LOG_FILE =” mysql-bin.000001″,\ MASTER_LOG_POS = 82104;

\

\

\

\

三,测试

\ 1,在192.168.15.216主库rocdate上创建表测试并写入数据:

mysql \> 建立\表\测试\\ n (\\ id int(4));

mysql \> 插入\成\测试\\ n价值观(1);

mysql \ gt; 插入\成\测试\\ n价值观(2);

\

\ 2,查看192.18.15.216 MySQL(T)和MySQL实库状态:

相关推荐

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