mysql跨库事务XA操作示例
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文实例讲述了mysql跨库事务XA操作。分享给大家供大家参考,具体如下:前一段时间在工作中遇到了跨库事务问题,后来在网上查询了一下,现在做一下整理和总结。1、首先要确保mysql开启XA事务支持SH
千家信息网最后更新 2026年11月02日mysql跨库事务XA操作示例
本文实例讲述了mysql跨库事务XA操作。分享给大家供大家参考,具体如下:
前一段时间在工作中遇到了跨库事务问题,后来在网上查询了一下,现在做一下整理和总结。
1、首先要确保mysql开启XA事务支持
SHOW VARIABLES LIKE '%XA%'

如果innodb_support_xa的值是ON就说明mysql已经开启对XA事务的支持了。
如果不是就执行:
SET innodb_support_xa = ON
query("XA START '$xid'");//准备事务1$dbtest2->query("XA START '$xid'");//准备事务2try { //$dbtest1 $return = $dbtest1->query("UPDATE member SET name='唐大麦' WHERE id=1") ; if($return == false) { throw new Exception("库dbtest1@172.20.101.17执行update member操作失败!"); } //$dbtest2 $return = $dbtest2->query("UPDATE memberpoints SET point=point+10 WHERE memberid=1") ; if($return == false) { throw new Exception("库dbtest1@172.20.101.18执行update memberpoints操作失败!"); } //阶段1:$dbtest1提交准备就绪 $dbtest1->query("XA END '$xid'"); $dbtest1->query("XA PREPARE '$xid'"); //阶段1:$dbtest2提交准备就绪 $dbtest2->query("XA END '$xid'"); $dbtest2->query("XA PREPARE '$xid'"); //阶段2:提交两个库 $dbtest1->query("XA COMMIT '$xid'"); $dbtest2->query("XA COMMIT '$xid'");}catch (Exception $e) { //阶段2:回滚 $dbtest1->query("XA ROLLBACK '$xid'"); $dbtest2->query("XA ROLLBACK '$xid'"); die($e->getMessage());}$dbtest1->close();$dbtest2->close();?>XA的性能很低。一个数据库的事务和多个数据库间的XA事务性能对比可发现,性能差10倍左右
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL查询技巧大全》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
希望本文所述对大家MySQL数据库计有所帮助。
事务
技巧
数据
数据库
阶段
准备
性能
大全
支持
查询
专题
两个
兴趣
内容
函数
多个
大麦
实例
常用
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
互联网科技公司简介
新华互联网科技学院
互联网下的科技发展
西安互联网科技
互联网科技英文
卓越科技(互联网 )
互联网科技的英文
互联网女皇 腾讯科技
友谊互联网络科技
上海亿帐通互联网科技
国外互联网科技网站
多迪互联网科技有限公司
镁科技互联网资讯平台
北京大学互联网科技怎么样
互联网软件和科技
天津腾达互联网科技有限公司
互联网领先科技宣传片
广州三三互联网科技有限公司
北京品多多互联网科技有限公司
山东特亿宝互联网科技有限公司
互联网科技公司税收优惠
奇酷互联网科技
互联网高科技股票
宁夏科技产业互联网案例
互联网科技公司有风险吗
燊美集互联网科技有限公司
互联网科技大赛获奖感言
众安科技工业互联网合作
第三届互联网大会安防黑科技