使用读写模式的集群地址时,在SQL语句前加上/* FORCE_MASTER */或/* FORCE_SLAVE */,即可强制指定这条SQL的路由方向,详情请参见
HINT语法。/* FORCE_MASTER */强制请求被路由到主库。该用法可以用于解决少数一致性要求较高的读请求的场景。/* FORCE_SLAVE */强制请求被路由到从库。该用法可以用于解决少数PolarDB代理由于保证正确性,要求特殊语法被路由到从库的场景(比如存储过程的调用,multistatement的使用等语句默认是会被路由到主库)。
说明:
若您需要通过MySQL官方命令行执行上述Hint语句,请在命令行中加上-c参数,否则该Hint会被MySQL官方命令行过滤导致Hint失效,具体请参见
MySQL官方命令行。Hint的路由优先级最高,不受一致性级别和事务拆分的约束,使用前请进行评估。Hint语句里不要有改变环境变量的语句,例如/*FORCE_SLAVE*/ set names utf8; 等,这类语句可能导致查询结果非预期。