Flexviews 示例安装

物化视图

物化视图实际上是预先计算并且存储在磁盘上的表,可以通过各种各样的策略刷新和更新

Flexviews

Flexviews 是实现MySQL物化视图的开源工具。按照物化视图的定义,它应由以下部分组成:

1.变更数据抓取(CDC)功能,可以读取服务器的二进制日志并且解析相关行的变更
2.一系列可以帮助创建和管理视图的工具
3.一些可以应用变更到数据的物化视图的工具

下载

下载zip:
https://github.com/greenlion/swanhart-tools/archive/master.zip
git下载:
https://github.com/greenlion/swanhart-tools.git

说明:flexviews已经是二进制文件,无需编译安装

MySQL配置

根据上文得到Flexviews的组成部分,应该启用或是修改MySQL相关功能或变量。

1.开启MySQL二进制日志:log_bin=mysqlbin-log  #mysqlbin-log为二进制文件名
2.设定MySQL二进制格式:binlog-format=row     #row/statement/mixed
3.开启MySQL的定时事件:event_scheduler = 1   #以便执行实现定时刷新脚本
4.配置MySQL服务器标识:server-id = 1         #记录日志为哪台服务器所写?

Flexviews配置

flexviews官方给出的安装步骤有误,网上资料又很少。特此记录:

1.拷贝配置文件
    cp consumer.ini.example consumer.ini
2.指定执行变量
    mysqlbinlog=/usr/bin/mysqlbinlog #使用which mysqlbinlog查看
3.设定Flexviews日志模式
    auto_changelog=false

说明:还有其他一些连接数据库的配置,自行更改

初始化物化系统

创建flexviews库和三张flexviews基础表
    php setup_flexcdc.php

错误提示:require_once(Console/Getopt.php): failed to open stream
解决:这是PHP没有pear相关插件导致错误
    下载:curl -o go-pear.php http://pear.php.net/go-pear.phar
    执行:php go-pear.php

导入示例数据库

mysql -uxxx -pxxx -e 'source demo.sql;';

导入存储过程

导入存储过程
mysql -uxxx -pxxx -e 'source install.sql;';

错误提示:unknown sys storage_engine出错信息
解决:这是flexviews本身脚本错误。
     只需修改schema.sql第21行处 set @storage_engine = coalesce 即可

运行Flexviews

php /flexview/consumer/run_consumer.php
sh consumer_safe.sh --ini=consumer.ini &

results matching ""

    No results matching ""