首页 > 数据库技术 > 详细

在mysql客户端显示gtid

时间:2019-03-01 17:55:48      阅读:319      评论:0      收藏:0      [点我收藏+]

1、下载mysql源码

2、在mysql-5.7.25.tar\mysql-5.7.25\client下找到mysql.cc

3、在大概3697行左右,按照代码修改

 技术分享图片

主要是加粗部分

else if( !batchmode ){
        sprintf(buff,"Query OK, %lld %s affected",
	        mysql_affected_rows(&mysql),
	        mysql_affected_rows(&mysql) == 1LL ? "row" : "rows");

        const char *data;
        size_t length;

        if (mysql_session_track_get_first(&mysql, SESSION_TRACK_GTIDS, &data, &length) == 0)
        {
          /* print info type and initial data */
          printf("mysql_session_track_get_first(): length=%d; data=%*.*s\n",
            (int) length, (int) length, (int) length, data);
        }
      }

  

4、对源码重新编译后,使用编译后的mysql连接mysql服务器

5、服务器需要设置

set global session_track_gtids=OWN_GTID;

set global session_track_state_change=true;

 

目前基本框架都不支持获取gtid

 

如果想要获取的话

1、在连接mysql的时候需要CLIENT_SESSION_TRACK,服务器才会返回。mysql发送登陆报文的时候,包括了客户端权能标志,我们要修改的就是权能标志,而CLIENT_SESSION_TRACK包含在客户端权能标志里面

2、接着就是继续修改源码,解析返回包

 

在mysql客户端显示gtid

原文:https://www.cnblogs.com/1257433831qq/p/10457462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!