当前位置:   article > 正文

DRDS常见操作_drds 用法

drds 用法
  1. DRDS
  2. 天基查找
  3. endpoint 天基---->资源申请/服务注册变量 ---> service搜索【drds】 ---> "drds-console" :
  4. precterl.api: "drds.ah-2.res.sgmc.sgcc.com.cn"
  5. 常用命令:
  6. show topology from m ulti_db_single_tbl; 查看DRDS该逻辑表的节点拓扑---> 在DRDS执行,查看表的拓扑
  7. /*TDDL:scan()*/select count(1) from xxxx 查询DRDS逻辑表对应的物理表的大小
  8. /*TDDL:scan()*/
  9. 过滤语句:
  10. egrep -v '[-/*SET0-9]' qianyi.sql > qian.sql
  11. 常见报错:
  12. 1. 客户删除表的时候直接从RDS里面删除,导致DRDS表结构还是存在,但是RDS分库不存在,致使DRDS迁移的时候出现表结构导不出来的情况
  13. 解决办法:
  14. mysqldump -h host -u [username] -p [password] -P [prot] -f -d -B [databasename] -A > qianyi.sql
  15. --force -f 跳过报错强制继续执行
  16. 2. 查看源端的DRDS和RDS的sql_mode 参数一般都是为【空】,表示没有任何限制 -----> 该参数导致无法正常导入表结构
  17. 查询sql_mode:
  18. 1. select @@session.sql_mode;
  19. 2. select @@global.sql_mode;
  20. session均可省略,默认session,仅对当前会话有效全局修改的话,需高级权限,仅对下次连接生效,不影响当前会话,且MySQL重启后失效,因为MySQL重启时会重新读取配置文件里对应值,如果需永久生效需要修改配置文件里的值。
  21. 解决办法:
  22. 1. 修改每个DRDS下面的RDS的sql_mode的参数,包含全局sql_mode;
  23. 2. 必须使用【杜康】的【超级日志管理账号】才能修改global.sql_mode;
  24. 3. 所有RDS修改完成之后,才能修改DRDS的【局部和全局】sql_mode参数;
  25. 修改语句:
  26. 局部 set sql_mode='';
  27. 全局 set global.sql_mode='';
  28. 4. 采用admin高权限账号修改DRDS的sql_mode参数
  29. 5. 登入ASO ---> DRDS manager ---> 找到实例 ---> DB管理 ---> 修改参数 ---> 3000修改成3001 ---> 提交
  30. 3. DRDS修改分区随机码的参数 ----> 适用【DRDS-5.4.3】 以上版本
  31. 查看版本: select version();
  32. 登入:
  33. 1. ASO ---> 运维 ---> 产品运维管理 ---> 【精卫】 ---> 【实例管理】 ---> 选取实例 ---> 【系统管理】 ---> 【参数配置】 ---> 【DRDS】 ---> [创建]
  34. 2. 参数名: ENABLE_RANDOM_PHY_TABLE_NAME
  35. 参数变量名: ENABLE_RANDOM_PHY_TABLE_NAME
  36. 参数默认值: true
  37. 参数范围: [true|false]
  38. 参数校验正则: (true|false)
  39. 参数级别: 数据库
  40. 参数类型: DIAMOND
  41. 5.2支持版本: *
  42. 5.3支持版本: *
  43. 支持实例类型: 【主实例】、【分布式POLARDB】
  44. 对用户是否可见: √
  45. 3. 登入ascm ---> 【参数设置】 ---> 【数据库级】 ----> 找到对应数据库 ---> 找到[ENABLE_RANDOM_PHY_TABLE_NAME参数] ---> 把true修改成[false] ---> 【批量提交】
  46. 效果:
  47. 修改之后在DRDS新建的分区表将不会自动生成【随机码】,大大方便了DRDS的批量的迁移
  48. 随机码:
  49. 1. 导出随即表
  50. 2. 进行过滤
  51. 常用命令:
  52. 批量查询DRDS所有表状态:
  53. for line in `mysql -h drdsusrzel3hwe73.drds.res.sgmc.sgcc.com.cn -uah2_qianyi -pxxxx -N -s -e "show tables"`; do mysql -h drdsusrzel3hwe73.drds.res.sgmc.sgcc.com.cn -uah2_qianyi -pxxx -N -s -e "check table $line;";done

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号