问题的提出:
在CRM管理系统与运营基础数据平台之间需要有数据表进行交换,说是交换,其实是单向的,就是CRM里面的一些数据需要实时同步到运营基础数据平台中。
解决方案:
A、采用时间戳的办法进行代码开发
问题:需要把同步的表添加时间戳概念,同时对于程序要做修改,提供数据采询接口,同时对于基础数据平台需要有一个定期调度去取数据的过程,麻烦!!!!!!!!
B、采用MYSQL的数据表同步方案
步骤:
一、Centos6.4 安装MariaDB5.5
vi /etc/yum.repos.d/MariaDB.repo
加入下面内容
[mariabd]
name=MariaDB
baseurl=http://yum.mariadb.org/5.5.33/centos6-amd64/
gpgkey=http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
保存退出
yum install -y MariaDB-server MariaDB-client
安装完后启动服务
service mysql start
设置管理员密码
mysqladmin -u root password '******'
启用远程管理权限
mysql -uroot -p****** GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "******";
flush privileges;
关闭防火墙
chkconfig iptables off service iptables stop
设置大小写不敏感
vi /etc/my.cnf.d/server.cnf 在[mysqld]配置节中添加
lower_case_table_names=1
然后重启动服务
service mysql restart
二、基础表结构及数据底包的同步
导出數據库為dbname某张表(test)结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname test>db.sql;
这样就成功导出数据文件db.sql ,然后是导入:
导入数据库
常用source 命令
进入my控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql
三、设置单台机器上多个MYSQL端口,这样为了方便主从复制表功能。
四、设置两个实例之间的表复制功能