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 &