欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql跨庫(kù)事務(wù)XA操作示例

 更新時(shí)間:2019年04月29日 10:49:26   作者:雨落知音  
這篇文章主要介紹了mysql跨庫(kù)事務(wù)XA操作,結(jié)合實(shí)例形式分析了php+mysql實(shí)現(xiàn)跨庫(kù)事務(wù)XA操作具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了mysql跨庫(kù)事務(wù)XA操作。分享給大家供大家參考,具體如下:

前一段時(shí)間在工作中遇到了跨庫(kù)事務(wù)問(wèn)題,后來(lái)在網(wǎng)上查詢(xún)了一下,現(xiàn)在做一下整理和總結(jié)。

1、首先要確保mysql開(kāi)啟XA事務(wù)支持

SHOW VARIABLES LIKE '%XA%'

如果innodb_support_xa的值是ON就說(shuō)明mysql已經(jīng)開(kāi)啟對(duì)XA事務(wù)的支持了。

如果不是就執(zhí)行:

SET innodb_support_xa = ON

<?PHP
$dbtest1 = new mysqli("172.20.101.17","public","public","dbtest1")or die("dbtest1 連接失敗");
$dbtest2   = new mysqli("172.20.101.18","public","public","dbtest2")or die("dbtest2 連接失敗");
//為XA事務(wù)指定一個(gè)id,xid 必須是一個(gè)唯一值。
$xid = uniqid("");
//兩個(gè)庫(kù)指定同一個(gè)事務(wù)id,表明這兩個(gè)庫(kù)的操作處于同一事務(wù)中
$dbtest1->query("XA START '$xid'");//準(zhǔn)備事務(wù)1
$dbtest2->query("XA START '$xid'");//準(zhǔn)備事務(wù)2
try {
  //$dbtest1
  $return = $dbtest1->query("UPDATE member SET name='唐大麥' WHERE id=1") ;
  if($return == false) {
    throw new Exception("庫(kù)dbtest1@172.20.101.17執(zhí)行update member操作失??!");
  }
  //$dbtest2
  $return = $dbtest2->query("UPDATE memberpoints SET point=point+10 WHERE memberid=1") ;
  if($return == false) {
    throw new Exception("庫(kù)dbtest1@172.20.101.18執(zhí)行update memberpoints操作失??!");
  }
  //階段1:$dbtest1提交準(zhǔn)備就緒
  $dbtest1->query("XA END '$xid'");
  $dbtest1->query("XA PREPARE '$xid'");
  //階段1:$dbtest2提交準(zhǔn)備就緒
  $dbtest2->query("XA END '$xid'");
  $dbtest2->query("XA PREPARE '$xid'");
  //階段2:提交兩個(gè)庫(kù)
  $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的性能很低。一個(gè)數(shù)據(jù)庫(kù)的事務(wù)和多個(gè)數(shù)據(jù)庫(kù)間的XA事務(wù)性能對(duì)比可發(fā)現(xiàn),性能差10倍左右

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL事務(wù)操作技巧匯總》、《MySQL查詢(xún)技巧大全》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • MySQL字符串按照數(shù)值排序方式

    MySQL字符串按照數(shù)值排序方式

    這篇文章主要介紹了MySQL字符串按照數(shù)值排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表

    mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表

    這篇文章主要介紹了mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • MySQL查看和修改最大連接數(shù)的方法步驟

    MySQL查看和修改最大連接數(shù)的方法步驟

    使用MySQL 數(shù)據(jù)庫(kù)的站點(diǎn),當(dāng)訪問(wèn)連接數(shù)過(guò)多時(shí),就會(huì)出現(xiàn) "Too many connections" 的錯(cuò)誤,所以我們需要設(shè)置MySQL查看和修改最大連接數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • mysql 判斷是否為子集的方法步驟

    mysql 判斷是否為子集的方法步驟

    這篇文章主要介紹了mysql 判斷是否為子集的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • mysql中替代null的IFNULL()與COALESCE()函數(shù)詳解

    mysql中替代null的IFNULL()與COALESCE()函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于mysql中替代null的IFNULL()與COALESCE()函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看看吧。
    2017-06-06
  • MySQL之FIND_IN_SET()的用法及說(shuō)明

    MySQL之FIND_IN_SET()的用法及說(shuō)明

    這篇文章主要介紹了MySQL之FIND_IN_SET()的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • MySQL總是差八個(gè)小時(shí)該如何解決

    MySQL總是差八個(gè)小時(shí)該如何解決

    最近在用mybatis時(shí)發(fā)現(xiàn),將LocalDateTime插入到數(shù)據(jù)庫(kù)時(shí)時(shí)間少了8小時(shí),下面這篇文章主要給大家介紹了關(guān)于MySQL總是差八個(gè)小時(shí)該如何解決的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • innodb 庫(kù)的備份注意點(diǎn)(由phpmyadmin引起的解決方案)

    innodb 庫(kù)的備份注意點(diǎn)(由phpmyadmin引起的解決方案)

    新版本xampps 1.8.5 X64 集成了phpmyadmin最新版本(4.1.0), 可每次初始化安裝程序后, 進(jìn)入phpmyadmin管理工具, 就會(huì)發(fā)現(xiàn)phpmyadmin高級(jí)功能失效, 一直在提示數(shù)據(jù)表不存在, 經(jīng)過(guò)再三的分析, 終于找到原因
    2013-12-12
  • 利用MySQL加密函數(shù)保護(hù)Web網(wǎng)站敏感數(shù)據(jù)的方法分享

    利用MySQL加密函數(shù)保護(hù)Web網(wǎng)站敏感數(shù)據(jù)的方法分享

    如果您正在運(yùn)行使用MySQL的Web應(yīng)用程序,那么它把密碼或者其他敏感信息保存在應(yīng)用程序里的機(jī)會(huì)就很大
    2012-03-03
  • mysql_fetch_row()與mysql_fetch_array()的使用介紹

    mysql_fetch_row()與mysql_fetch_array()的使用介紹

    本篇文章是對(duì)mysql_fetch_row()與mysql_fetch_array()的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論