mariadb gtid配置

来源:互联网 发布:淘宝爆款怎么做 编辑:程序博客网 时间:2024/06/01 21:28
环境说明:
环境说明:
主库:10.16.17.189  mariadbp.com
从库:10.16.17.190  mariadbs.com
端口:3306
os: centos6.5_64
db: mariadb 10.0.21


1.主库的配置
[mysqld]
basedir=/home/mysql/mariadb
datadir=/home/mysql/mariadb/data
socket=/home/mysql/mariadb/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog_format=row


#gtid   需要的参数如下
log-slave-updates=True
master-info-repository=TABLE 
relay-log-info-repository=TABLE 
sync-master-info=1
slave-parallel-threads=2 
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log-events=1
report-port=3306 
report-host=mariadbp.com


2.从库的配置
[mysqld]
basedir=/home/mysql/mariadb
datadir=/home/mysql/mariadb/data
socket=/home/mysql/mariadb/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id=2
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog_format=row


#gtid
log-slave-updates=True
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-threads=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log-events=1
report-port=3306
report-host=mariadbs.com


3.在主库创建同步的账号:
GRANT RELOAD, SUPER, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sync'@'%' IDENTIFIED BY 'sync';

4.将主库备份一份用于从库导入使用:
    mysqldump -uroot -predhat --master-data=2 > /tmp/allbak.sql
记录下位置信息:
[root@slaveAltas ~]# head -n25 /tmp/allbak.sql
-- MySQL dump 10.15  Distrib 10.0.21-MariaDB, for Linux (x86_64)
--
-- Host: localhost    Database: 
-- ------------------------------------------------------
-- Server version10.0.21-MariaDB-log


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;


--
-- Position to start replication or point-in-time recovery from
--


-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=334;


--
-- GTID to start replication from


5.从库导入从主库备份出来的数据,然后如下操作:
CHANGE MASTER TO
MASTER_HOST='10.16.17.189',
MASTER_USER='sync',
MASTER_PASSWORD='sync',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=334,
MASTER_CONNECT_RETRY=10;

start slave; #启动slave同步
show slave status\G; #查看slave状态

切换到gtid复制,切换前先stop slave

CHANGE MASTER TO
MASTER_HOST='10.16.17.189',
MASTER_USER='sync',
MASTER_PASSWORD='sync',
MASTER_LOG_POS=334,
master_use_gtid=slave_pos;
MASTER_CONNECT_RETRY=10;

切换完毕然后
start slave; #启动slave同步
show slave status\G; #查看slave状态


6.查看gtid的一些参数
MariaDB [(none)]> show global variables like '%gtid%';
+------------------------+----------------+
| Variable_name          | Value          |
+------------------------+----------------+
| gtid_binlog_pos        | 0-1-42         |
| gtid_binlog_state      | 0-2-366,0-1-42 |
| gtid_current_pos       | 0-1-42         |
| gtid_domain_id         | 0              |
| gtid_ignore_duplicates | OFF            |
| gtid_slave_pos         | 0-1-42         |
| gtid_strict_mode       | OFF            |
+------------------------+----------------+
7 rows in set (0.00 sec)
 
注意:使用了gtid请勿在从库上进行写入操作,那样会导致坏事务,如果想要操作可以set sql_log_bin=0;
详细的gtid介绍请看官方链接。
GTID References
http://kristiannielsen.livejournal.com/16826.html
https://mariadb.com/kb/en/global-transaction-id/
0 0
原创粉丝点击