五、aria2的安装
tar zxvf aria2-$version.tar.gz
mv aria2-$version aria2
cd aria2
apt-get install libxml2-dev
apt-get install g++
apt-get install make
./configure
make
make install
把aria2安装后的bin目录下的执行文件添加到环境变量path中 ( 本地安装的目录是/usr/local/aria2,安装后 ,bin目录在/usr/local/bin/)
六、node的安装(node 需要aria2支持)
tar zxvf node.deployer-$version.tar.gz修改node的配置:
vi conf/otter.properties
otter.manager.address =54.244.58.100:1099 ##对应manager中otter.properties的配置 otter.communication.manager.port
sh startup.sh/stop.sh(稍后才会成功)
七、canal的配置
wget https://github.com/alibaba/canal/releases/download/canal-1.0.17/canal.deployer-1.0.17.tar.gz
tar zxvf canal.deployer-$version.tar.gz
vi conf/example/instance.properties
#################################################
## mysql serverId
canal.instance.mysql.slaveId = 1234
# position info,需要改成自己的数据库信息
canal.instance.master.address = 127.0.0.1:3306
canal.instance.master.journal.name =
canal.instance.master.position =
canal.instance.master.timestamp =
#canal.instance.standby.address =
#canal.instance.standby.journal.name =
#canal.instance.standby.position =
#canal.instance.standby.timestamp =
# username/password,需要改成自己的数据库信息
canal.instance.dbUsername = canal
canal.instance.dbPassword = canal
canal.instance.defaultDatabaseName =
canal.instance.connectionCharset = UTF-8
# table regex
canal.instance.filter.regex = .*\\..*
#################################################
八、配置02和03的MySQL (将此步骤加到2后)
vi /etc/mysql/my.cnf
bind_adress=172.31.30.167/172.31.47.5(服务器IP)
添加以下的配置:log-bin=mysql-bin
binlog_format=ROW #修改成ROW
server-id = 1 #两个机房的serverid设置为不一样的值
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ; -- 赋权限,
FLUSH PRIVILEGES;
show grants for 'canal';--查看权限
需要注意的是,有的Mysql版本,自带了两个匿名用户,需要把两个匿名用户删除。
执行sql:
use mysql;--进入mysql库
select user,host,password from mysql.user;--查询用户列表
delete from mysql.user where user='';--删除匿名用户
将编码全部设置为UTF-8:
在[client ] 下面加入
default-character-set=utf8
在[ mysqld ] 下面加
character-set-server=utf8
init_connect='SET NAMES utf8'
在[ mysql ] 下面加入
default-character-set=utf8
重启MySQL:
sudo /etc/init.d/mysql restart
show variables like 'character%';--查看mysql编码
说明:以下脚本为双A机房数据库同步的初始化SQL,如无该需求请忽略之,注意修改密码
/*
供 otter 使用, otter 需要对 retl.* 的读写权限,以及对业务表的读写权限
1. 创建database retl
*/
CREATE DATABASE retl;
/* 2. 用户授权 给同步用户授权 */
CREATE USER retl@'%' IDENTIFIED BY 'retl';
GRANT USAGE ON *.* TO `retl`@'%';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON `retl`.* TO `retl`@'%';
/* 业务表授权,这里可以限定只授权同步业务的表 */
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO `retl`@'%';
/* 3. 创建系统表 */
USE retl;
DROP TABLE IF EXISTS retl.retl_buffer;
DROP TABLE IF EXISTS retl.retl_mark;
DROP TABLE IF EXISTS retl.xdual;
CREATE TABLE retl_buffer
(
ID BIGINT(20) AUTO_INCREMENT,
TABLE_ID INT(11) NOT NULL,
FULL_NAME varchar(512),
TYPE CHAR(1) NOT NULL,
PK_DATA VARCHAR(256) NOT NULL,
GMT_CREATE TIMESTAMP NOT NULL,
GMT_MODIFIED TIMESTAMP NOT NULL,
CONSTRAINT RETL_BUFFER_ID PRIMARY KEY (ID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE retl_mark
(
ID BIGINT AUTO_INCREMENT,
CHANNEL_ID INT(11),
CHANNEL_INFO varchar(128),
CONSTRAINT RETL_MARK_ID PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE xdual (
ID BIGINT(20) NOT NULL AUTO_INCREMENT,
X timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
/* 4. 插入初始化数据 */
INSERT INTO retl.xdual(id, x) VALUES (1,now()) ON DUPLICATE KEY UPDATE x = now();