配置读写分离

最近更新时间: 2023-03-21 16:46:54

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

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

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