您的位置:首页 > 数据库

在亚马逊云服务器上部署阿里数据库Otter(三)

2016-10-19 09:52 477 查看
五、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设置为不一样的值

  然后启动数据库,执行sql:

   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();

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐