在测试阿里云的sqlserver到mysql的dts同步,且是带过滤条件的同步,发现更新有个“能增不能减”的问题。在做带过滤的update,把过滤字段更新成其他值,目标端只能增不能减。—— 即过滤字段update成过滤条件,在目标端会增加改行记录; 过滤字段从符合过滤条件update成不符合过滤条件 […]
阿里云的高权限用户
开发希望多个系统联调,能自己在一个大集中环境部署一个数据库,然后创建多个实例。那么是可以在一个数据库中配置一个类似的高权限用户(该用户和高权限用户一样权限,但是在界面中看到是普通用户),然后再建库和建用户的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
-- 创建应用管理用户app_admin: create user app_admin identified by <passwd>; -- 对应用管理用户授权: grant ALTER,ALTER ROUTINE,CREATE, CREATE VIEW,CREATE ROUTINE,CREATE USER, CREATE TEMPORARY TABLES,DELETE,DROP,EVENT, EXECUTE,INDEX,INSERT,LOCK TABLES,PROCESS,RELOAD, REFERENCES,REPLICATION SLAVE,REPLICATION CLIENT ,SELECT,SHOW VIEW,TRIGGER,UPDATE on *.* to app_admin WITH GRANT OPTION; -- 用应用管理用户app_admin连接,进行创建各个数据库,并进行授权: -- 创建数据库和每个库testdb<n>对应的用户app_rw<n> create database testdb2 character set utf8mb4; create user app_usr2 identified by <passwd>; --授权 grant ALTER,ALTER ROUTINE,CREATE,CREATE TEMPORARY TABLES, CREATE VIEW,CREATE ROUTINE,DELETE,DROP,EVENT,EXECUTE, INSERT,INDEX,LOCK TABLES,REFERENCES, SELECT,SHOW VIEW,TRIGGER,UPDATE on testdb2.* to app_usr2; grant PROCESS,REPLICATION SLAVE,REPLICATION CLIENT on *.* to app_usr2; |
注意PROCESS,RE […]
一次大量事务日志生产的链条分析
数据传输工具,在全量同步中,往往是并发执行的,dts有个重写逻辑,是: 1)DTS碰到死锁的时候,会当前session中重试,继续写入数据。比如:DTS一批写入1024条数据,写到第1000条失败了,会在当前session中继续从头写入这1024条数据。这个过程可能会出现数据重复写入,会发生主键冲突 […]
阿里云dts过滤测试
用一个8c16g共享型的mysql,同步到4c8g的共享型mysql,利用sysbench 加载数据
1 |
sysbench oltp_read_write --mysql-host=rm-xyetdtwsoistegdhed.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=**** --mysql-password=***** --mysql-db=testdb --tables=30 --table-size=500000 --threads=30 prepare |
进行dts同步,dts选择的类型是small,从深圳到香港。 在配置任务对象时,对于table中的某个需要增加过滤条件的表,点击“编 […]
阿里云rds mysql更新证书的逻辑
证书更换的逻辑: 1. 只读节点是高可用版本的情况下(不适合只读节点是basic的版本), 先对只读节点的slave进行更新证书。 1.1 更新证书的过程,先把证书路径下的证书文件进行删除或者重命名。因为如果生成新证书时,在同一路径下存在同名文件,则创建失败。(证书路径是数据库中 show vari […]