mysql跨库事务XA操作示例
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本文实例讲述了mysql跨库事务XA操作。分享给大家供大家参考,具体如下:前一段时间在工作中遇到了跨库事务问题,后来在网上查询了一下,现在做一下整理和总结。1、首先要确保mysql开启XA事务支持SH
千家信息网最后更新 2025年11月13日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安全错误
数据库的锁怎样保障安全
深圳微信软件开发服务费
流放者柯南自创服务器视频
宜章软件开发招生
网络安全宣传员字体
西工大16年秋网络安全
不同云服务器同步备份
数据库怎么删除多余的单元格
vb数据库怎么查看
九岁以下的孩子的网络安全手抄报
指尖铭心网络技术招聘
高品质服务器生产厂家
中文科技期刊数据库原理
大学网络技术专业学什么
日照龙狮互联网科技
服务器开机就显示没有信号
严阵以待与服务器断开连接
乌兰浩特短期app软件开发培训
网络安全关注话题的原因
vb断开数据库连接
计算机网络技术期末课题
服务器硬盘阵列方式有几种
软件开发是什么时候快速兴起的
服务器远程端口开启
软件开发适合哪类的人
国防网络安全股票
重庆渝中区苹果软件开发机构
高科技的互联网企业排名
特价香港云服务器转让
高级数据库技术与系统开发
深信服数据库安全