MySQL全局变量gtid_executed立即发生多次更改是否正常?
这些MySQL命令在10秒的时间范围内执行:
mysql> show global variables like 'gtid_executed';
+---------------+-------------------------------------------------+
| Variable_name | Value |
+---------------+--------------------------
我想在某个地方跟踪GTID和相应的mysqlbin日志。我看到这个mysql.gtid_executed表,但是在我的mariadb上,这个表中没有行。知道这是怎么弄到的吗?这些是与GTID相关的参数。任何帮助都是非常感谢的。
MariaDB [(none)]> show variables like '%gtid%';
+-------------------------+--------------+
| Variable_name | Value |
+-------------------------+--------------
我正在尝试在运行在MySQL实例上的EC2和AWS实例之间建立一个复制。
我正在遵循指南。
我的主MYSQL (运行在EC2上)打开了GTID模式。我打算成为奴隶(AWS RDS MYSQL)已经关闭GTID模式,显然,没有办法打开它。
因此,当我开始复制时,在从服务器上得到以下错误:
The slave IO thread stops because the master has @@GLOBAL.GTID_MODE ON and this server has @@GLOBAL.GTID_MODE OFF
我不能关掉我主人的gtid模式。如何使此复制工作?
因为我的mysql数据库只与一个小的web应用程序一起使用,所以我永远不需要任何复制功能。在监控过程中,我注意到一个名为thread/sql/compress_gtid_table的东西。在使用mysqldump转储一些表时,我收到了这样的警告: Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you do
我需要获取一些与数据库相关的变量,比如gtid_executed,通过查询语句从mysql获取这个值很方便,如下所示:
show global variables like "gtid_executed";
mysql中的结果:
mysql> show global variables like "gtid_executed";
+---------------+--------------------------------------------+
| Variable_name | Value
我正在尝试使用salt设置一个正在运行的MariaDB实例的副本。下面是我的代码:
{% if pillar.get('REPLICATION_SOURCE_IP') and pillar.get('REPLICATION_SOURCE_PORT') %}
replication-set-gtid:
mysql_query.run:
- database: mysql
- query: |
set @MY_GTID_EXEC = @@GLOBAL.GTID_EXECUTED;
RESET MASTER;
set
从用Percona创建的master备份中还原从
在主binlog上,该备份将在14天内过期,并且此备份的使用时间不到24小时。
my.cnf (主)
expire_logs_days = 14
还原脚本(从)
service mysql stop
rm -r /var/lib/mysql/*
# backup is unzipped into /var/lib/mysql
xtrabackup --prepare --target-dir=/var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
service mysql start
已经创建了一个mysql服务器,它以某种方式将log_bin设置为ON,enforce_gtid_consistency也设置为ON。在我的例子中,这只会引起很少的问题,我想将这些变量转换为OFF。我试过的过程
1. Create a .my.cnf file in user root (~/.my.cnf) and added
[mysqld]
enforce_gtid_consistency=OFF
结果:无变化。它不起作用。
2. In azure portal in init_connect variable i have set "SET enforce_gtid_cons
从用Percona创建的master备份中还原从
在主binlog上,该备份将在14天内过期,并且此备份的使用时间不到24小时。
my.cnf (主)
expire_logs_days = 14
还原脚本(从)
service mysql stop
rm -r /var/lib/mysql/*
# backup is unzipped into /var/lib/mysql
xtrabackup --prepare --target-dir=/var/lib/mysql
chown -R mysql.mysql /var/lib/mysql
service mysql start
是否可以在第二代Cloud实例上关闭GTID模式?我尝试了一个动态更改,得到了“超级”错误消息:
mysql> SET @@GLOBAL.GTID_MODE = OFF;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s)
for this operation
我有mysql二进制日志,可以通过GTID进行复制。
我试图显示执行的update/insert语句,如下所示:
mysqlbinlog --base64-output=DECODE-ROWS mysql-bin.000024
但我看到的只是这样的东西,没有更新或插入stmt的痕迹:
SET TIMESTAMP=1431681617/*!*/;
BEGIN
/*!*/;
# at 746987321
# at 746987392
# at 746987484
#150515 11:20:17 server id 1 end_log_pos 746987515 CRC32 0xeb874754
我已经成功地使用GTID_MODE创建了复制。它工作得很完美。现在我需要在其中设置自动故障转移功能。我已经运行了以下命令。
mysqlfailover --master=root:abc@10.24.184.12:3306 --discover-slaves-login=root:abc
我得到了以下结果。名单上没有奴隶。
MySQL Replication Failover Utility
Failover Mode = auto Next Interval = Tue May
Master Information
------------------
Binary Log Fil