配置读写分离

最近更新时间:2021-09-23 11:42:23

基于只读帐号的读写分离

  1. 登录 TDSQL MySQL版 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
  2. 在实例管理页面,选择帐号管理页,单击创建帐号
  3. 在弹出的对话框,设置帐号信息,创建为只读帐号设置为,单击确认,下一步
  4. 在弹出的对话框,选择只读请求分配策略,定义在备机故障(或延迟较大)时的读策略,及设置只读备机延迟参数,单击确定
    • 选择主机则备机延迟超时时从主机读取。
    • 选择直接报错则备机延迟超时时报错。
    • 选择只从备机读取则忽略延迟参数,一直从备机读取(一般用于拉取 binlog 同步)。
    • 只读备机延迟参数定义数据同步延迟时间,并与只读请求分配策略中的主机直接报错两种策略配合使用。

基于注释的读写分离

在每条需要从机“读”的 SQL 前,增加/*slave*/ 字段,并且 mysql 后面增加 -c 参数来解析注释mysql -c -e "/*slave*/sql",即可自动将“读”请求分配到从机,代码示例如下:

//主机读//
select * from emp order by sal,deptno desc//从机读//
/*slave*/ select * from emp order by sal,deptno desc

注意:

  • 该功能仅支持从机读(select),不支持其他操作,非 select 语句将失败。
  • mysql 后面要增加 -c 参数来解析注释。
  • /*slave*/必须为小写,语句前后无空格。
  • 从机出现异常而影响到 MAR(强同步)机制时,从机读操作将自动切换回主机。
目录