mysql跨库事务XA操作示例
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本文实例讲述了mysql跨库事务XA操作。分享给大家供大家参考,具体如下:前一段时间在工作中遇到了跨库事务问题,后来在网上查询了一下,现在做一下整理和总结。1、首先要确保mysql开启XA事务支持SH
千家信息网最后更新 2025年01月28日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安全错误
数据库的锁怎样保障安全
新乡市软件开发招聘
在软件开发中用户名和密码
苹果软件开发怎么收费
数据库创建时间字段怎么查
奉化应用软件开发设计
怎么看数据库日志内容
英雄联盟手游国际服账号怎么看服务器
账号管理数据库
网络安全不烦恼分解动作
数据库的记录和属性有没有顺序
枣阳软件开发
魔兽世界服务器一区就能玩吗
网络安全问题及解决措施论文
服务器能当家用机箱上网快吗
关于网络技术得梦想得征文
北京一区香山红叶服务器怎么样
软件开发移民
英文专业在哪几个数据库找资料
穿衣搭配软件开发
约谈阿里巴巴网络安全
服务器udp多线程
苹果文件管理无法打开服务器
sql 查询数据库连接
江西质量软件开发服务保障
色弱能报网络安全吗
王芸网络安全
erp的服务器和上位机
网易云服务器购买
12c 创建数据库
软件开发实习工作情况简介