使用symmetricds使不同IP地址间数据库实现同步
目前测试下来在主节点添加和删除可以同步到副节点,在副节点添加删除可以同步到主节点,但其余副节点需要通过初始负载命令bin\symadmin --engine corp-000 reload-node 001来同步更新内容,同时初始负载无法更新删除的内容。\bin\dbimport --engine corp-000 --format XML --alter-case create_sample.x
1.首先,要同步的数据库表设置详细写在create_sample.xml文件中,建议表中加入主键,否则在第二次同步的时候表中会出现相同的信息,使用unique关键字不管用。
…\bin\dbimport --engine corp-000 --format XML --alter-case create_sample.xml 创建数据库维护表
2.设置主节点和副节点时,如果使用虚拟机模拟不同IP地址的话,建议使用主机做主节点,模拟机做副节点,否则在运行时可能会出现类似的错误,目前也没有研究原因到底是啥。
2024-04-13 22:04:05,007 WARN [corp-000] [AuthenticationInterceptor] [qtp1244394767-82] Node ‘001’ failed to authenticate. It had too many login attempts
2024-04-13 22:04:05,823 WARN [store-001] [PullService] [store-001-pull-default-6] Authorization denied from corp:000:000 at http://192.168.2.76:31415/sync/corp-000
3.创建主节点,命令如下
…\bin\symadmin --engine corp-000 create-sym-tables 创建 SymmetricDS 表
…\bin\dbimport --engine corp-000 insert_sample.sql 将 SymmetricDS 配置和数据加载到根节点数据库中
4.两边mysql数据库都要赋予各自ip地址权限,具体步骤如下:
mysql -uroot -p
输入密码
use mysql
GRANT ALL PRIVILEGES ON targetdatabase.* TO ‘username’@‘ip’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
两边都要添加对应的ip地址权限
5.关闭双方电脑的防火墙
6.验证
关闭后尝试用ping ip的方式查看是否可以连接对方
再用mysql -h192.168.5.116 -P3306 -uroot -p123456看是否能连接到对方mysql服务器
7.使用bin\sym来进行初始化
8.使用bin\dbsql --engine corp-000 打开对应节点的交互式 SQL 会话进行测试
目前测试下来在主节点添加和删除可以同步到副节点,在副节点添加删除可以同步到主节点,但其余副节点需要通过初始负载命令bin\symadmin --engine corp-000 reload-node 001来同步更新内容,同时初始负载无法更新删除的内容
更多推荐
所有评论(0)