日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql5.623 GTID主从复制+半同步复制安装与配置

發布時間:2023/12/15 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql5.623 GTID主从复制+半同步复制安装与配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、GTID簡介

什么是GTID

GTID(Global Transaction ID)是對于一個已提交事務的編號,并且是一個全局唯一的編號。
GTID
實際上是由UUID+TID組成的。其中UUID是一個MySQL實例的唯一標識。TID代表了該實例上已經提交的事務數量,并且隨著事務提交單調遞增。下面是一個GTID的具體形式

3E11FA47-71CA-11E1-9E33-C80AA9429562:23

更詳細的介紹可以參見:官方文檔

GTID的作用

那么GTID功能的目的是什么呢?具體歸納主要有以下兩點:

1、根據GTID可以知道事務最初是在哪個實例上提交的

2、GTID的存在方便了ReplicationFailover

?

二、介紹半同步復制

半同步復制可以作為默認的異步復制的替代方案,用以提高數據完整性。

使用半同步復制,提交操作只有當一個從服務器已經接收到更新,或者超時后才返回客戶端。因此,它可以確保數據存在于主服務器以及至少一個從服務器中(注意,提交操作返回時,從服務器已經接收到更新,但不一定已經應用了該更新)。

可以組合使用不同的復制模式,因此一些從服務器配置為異步復制,而其他從服務器使用半同步復制。這樣最終意味著開發人員/DBA能夠基于每個從服務器確定合適的數據一致性和性能級別。

以上描述的不同復制模式可以與完全同步復制進行比較,后者使用“兩階段提交”協議同時將數據提交到兩個或者更多實例中。同步復制能夠確保多個系統之間的一致性,故障時提供更快的故障轉移時間,但是會因為在節點之間傳遞更多的消息導致性能消耗。

三、環境

環境

系統:centos6.5

master IP: 172.19.0.105

slave IP:172.19.0.102

mysql版本:5.6.23

四、mysql安裝(兩臺)

1、采用yum安裝依賴包

yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*? cmake? bison

2、創建mysql用戶與用戶組

groupadd mysql

useradd -r -g mysql mysql

3.解壓安裝mysql源代碼包

tar zxvf mysql-5.6.23.tar.gz

cd mysql-5.6.23

cmake ./ -DCMAKE_INSTALL_PREFIX=/opt/mysql/ -DMYSQL_DATADIR=/opt/mysql/data -DMYSQL_UNIX_ADDR=/opt/mysql/data/mysqld.sock -DWITH_INNOBASE_STORAGE_ENGINE=1? -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/opt/mysql/data/mysql.sock -DMYSQL_USER=mysql? -DWITH_DEBUG=0

?

make && make install

?

4、賦予相關權限

chown -R mysql:mysql /opt/mysql

?

/opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql?? --datadir=/opt/mysql/data

5mysql配置文件

cp support-files/my-default.cnf /etc/my.cnf??? #配置文件

cp support-files/mysql.server /etc/init.d/mysql? #啟動文件

chmod +x /etc/init.d/mysql??

?

mkdir /opt/mysql/logs??? #創建存放日志文件

chown -R mysql:mysql /opt/mysql/logs? #賦予相關權限

chkconfig mysql on??? #增加開機啟動

6、啟動?mysql

/etc/init.d/mysql start

7設置mysql初始密碼,123456是密碼,你可以設置自己需要的密碼

/opt/mysql/bin/mysqladmin -u root password '123456'

8、增加軟連接

ln -s /opt/mysql/bin/* /usr/bin/??

五、主從模式配置

1、配置master節點??[mysqld]下增加

log-bin=master-bin

binlog_format = ROW

log_slave_updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=4 #開啟基于庫的多線程復制。默認是0,不開啟,最大并發數為1024個線程

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

report-port=3306

report-host=MASTER

?

2、配置slave節點??[mysqld]下增加把server-id??? = 1修改成2master要不一樣,否則會報錯

server-id? = 2

log-bin=mysql-bin

binlog_format = ROW

log_slave_updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=4 #開啟基于庫的多線程復制。默認是0,不開啟,最大并發數為1024個線程

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

report-port=3306

report-host=SLAVE

3、masterslave配置好重啟

/etc/init.d/mysql restart

4、創建復制用戶

在主庫(master)執行

GRANT REPLICATION SLAVE ON *.*? TO 'repl'@'172.19.0.%'? IDENTIFIED BY 'repl';

flush privileges;

?

在主庫(master)執行安裝相關插入件啟動半同步復制

INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

SET GLOBAL rpl_semi_sync_master_enabled=1;

SET GLOBAL rpl_semi_sync_master_timeout=1000;

在從庫(slave)執行安裝相關插入件啟動半同步復制

INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

SET GLOBAL rpl_semi_sync_slave_enabled=1;

在從庫(slave)執行復制連接

?

CHANGE MASTER TO MASTER_HOST='172.19.0.105',MASTER_USER='repl',MASTER_PASSWORD='repl',master_auto_position=1,master_delay=20;

?

start slave;

查看主從已經啟動gtid功能

在主庫查看連接的slave主機

查看從庫復制狀態

?

?

以上說明成功

下面是我修改一些參數配置為了優化,大家可以根據自己環境來修改

主庫(master)配置:

?

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[client]

port?????????? = 3306

socket??????????????? = /opt/mysql/data/mysql.sock

default-character-set = utf8

################Basic############

[mysqld]

server-id? = 1

port?????????? = 3306

socket??????????????? = /opt/mysql/data/mysql.sock

skip-external-locking

skip-name-resolve

default-storage-engine=INNODB

character-set-server=utf8

wait_timeout=500

connect_timeout=20

interactive_timeout=500

back_log=500

event_scheduler=ON

?

##########binlog##########

expire-logs-days=5

log-bin=master-bin

?

binlog_format = ROW

log_slave_updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2? #開啟基于庫的多線程復制。默認是0,不開啟,最大并發數為1024個線程

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

report-port=3306

report-host=MASTER

#############半同步###########

rpl_semi_sync_master_enabled=1?

rpl_semi_sync_master_timeout=1000?

rpl_semi_sync_master_trace_level=32?

rpl_semi_sync_master_wait_no_slave=on

#######################

max_binlog_size=128M

binlog_cache_size=2M

sync_binlog=1

#################slow log ###########

slow-query_log=1

slow-query_log_file=/opt/mysql/logs/mysql.slow

long_query_time=2

####################error log####

log_error=/opt/mysql/logs/error.log

#################per_thread_buffers#############

max_connections=1024

max_user_connections=2000

max_connect_errors=10000

key_buffer_size=64M

max_allowed_packet=128M

table_open_cache=6144

table_definition_cache=4096

sort_buffer_size=512k

read_buffer_size=512k

read_rnd_buffer_size=512k

join_buffer_size=512k

tmp_table_size=64M

max_heap_table_size=64M

query_cache_type=0

query_cache_size=0

bulk_insert_buffer_size=32M

thread_cache_size=64

thread_concurrency=32

thread_stack=256K

################INNODB################

innodb_data_home_dir = /opt/mysql/data

innodb_log_group_home_dir = /opt/mysql/data

innodb_data_file_path = ibdata1:10M:autoextend

innodb_buffer_pool_size=2G

innodb_buffer_pool_instances = 4

innodb_flush_log_at_trx_commit=1

innodb_lock_wait_timeout=10

innodb_file_per_table

innodb_log_files_in_group=3

innodb_support_xa=1

innodb_sync_spin_loops=40

innodb_max_dirty_pages_pct=90

innodb_additional_mem_pool_size=20M

innodb_log_buffer_size=128M

innodb_flush_method=O_DIRECT

innodb_file_format=Barracuda

innodb_io_capacity=2000

log_bin_trust_function_creators=1

innodb_purge_threads=1

innodb_purge_batch_size=32

innodb_old_blocks_pct=75

transaction_isolation=READ-COMMITTED

#innodb_read_io_threads=8

#innodb_write_io_threads=8

[mysqldump]

quick

max_allowed_packet=128M

myisam_max_sort_sort_file_size=2G

[mysql]

no-auto-rehash

?

[myisamchk]

key_buffer_size = 64M

sort_buffer_size =256K

read_buffer = 2M

write_buffer = 2M

?

[mysqlhotcopy]

interactive-timeout

?

?

從庫(slave)配置:

?

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[client]

port?????????? = 3306

socket??????????????? = /opt/mysql/data/mysql.sock

default-character-set = utf8

################Basic############

[mysqld]

server-id? = 2

port?????????? = 3306

socket??????????????? = /opt/mysql/data/mysql.sock

skip-external-locking

skip-name-resolve

default-storage-engine=INNODB

character-set-server=utf8

wait_timeout=500

connect_timeout=20

interactive_timeout=500

back_log=500

event_scheduler=ON

##########binlog##########

expire-logs-days=5

log-bin=mysql-bin

?

binlog_format = ROW

log_slave_updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

report-port=3306

report-host=SLAVE

?

##############半同步#####################

rpl_semi_sync_slave_enabled=1

##################################

max_binlog_size=128M

binlog_cache_size=2M

sync_binlog=1

#################slow log ###########

slow-query_log=1

slow-query_log_file=/opt/mysql/logs/mysql.slow

long_query_time=2

####################error log####

log_error=/opt/mysql/logs/error.log

#################per_thread_buffers#############

max_connections=1024

max_user_connections=2000

max_connect_errors=10000

key_buffer_size=64M

max_allowed_packet=128M

table_open_cache=6144

table_definition_cache=4096

sort_buffer_size=512k

read_buffer_size=512k

read_rnd_buffer_size=512k

join_buffer_size=512k

tmp_table_size=64M

max_heap_table_size=64M

query_cache_type=0

query_cache_size=0

bulk_insert_buffer_size=32M

thread_cache_size=64

thread_concurrency=32

thread_stack=256K

################INNODB################

innodb_data_home_dir = /opt/mysql/data

innodb_log_group_home_dir = /opt/mysql/data

innodb_data_file_path = ibdata1:10M:autoextend

innodb_buffer_pool_size=2G

innodb_buffer_pool_instances = 4

innodb_flush_log_at_trx_commit=1

innodb_lock_wait_timeout=10

innodb_file_per_table

innodb_log_files_in_group=3

innodb_support_xa=1

innodb_sync_spin_loops=40

innodb_max_dirty_pages_pct=90

innodb_additional_mem_pool_size=16M

innodb_log_buffer_size=64M

innodb_flush_method=O_DIRECT

innodb_file_format=Barracuda

innodb_io_capacity=2000

log_bin_trust_function_creators=1

innodb_purge_threads=1

innodb_purge_batch_size=32

innodb_old_blocks_pct=75

transaction_isolation=READ-COMMITTED

#innodb_read_io_threads=8

#innodb_write_io_threads=8

[mysqldump]

quick

max_allowed_packet=128M

myisam_max_sort_sort_file_size=2G

[mysql]

no-auto-rehash

?

[myisamchk]

key_buffer_size = 64M

sort_buffer_size =256K

read_buffer = 2M

write_buffer = 2M

?

[mysqlhotcopy]

interactive-timeout

?

?

主從修改配置后,我們重啟mysql數據庫,在來查看半同步復制

主庫查看半同步復制

從庫查看半同步復制

上圖說明半同步復制成功

?

?

本文轉自 jxzhfei ?51CTO博客,原文鏈接:http://blog.51cto.com/jxzhfei/1636019



總結

以上是生活随笔為你收集整理的mysql5.623 GTID主从复制+半同步复制安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产午夜不卡 | 欧美一极片| 亚洲欧美中文字幕 | 爱啪啪导航| いいなり北条麻妃av101 | 国产精品videossex国产高清 | 国产精品久久久 | 欧美激情午夜 | 污视频在线播放 | 丰满护士巨好爽好大乳 | 国产大学生av | 午夜院线| 国产农村熟妇videos | 夜夜夜网站 | 国产中出视频 | 综合网视频 | 韩日视频在线观看 | 亚洲欧美国产精品专区久久 | 诱惑av| 中文字幕日韩欧美一区二区 | 国产极品福利 | 在线免费 | www.狠狠干| 日韩制服诱惑 | 最新日本中文字幕 | 刘亦菲毛片一区二区三区 | 黄网免费在线观看 | aaa黄色片| 亚洲综合第一页 | 欧美videos另类极品 | 奇米7777| 久久精品在线观看 | 久久久噜噜噜久久久 | 亚洲不卡视频在线观看 | 91视频免费网站 | 男人的天堂一区 | av高清免费 | 色xxxxx| 国产一区二区三区影院 | 国产在线高清视频 | 国产精华一区二区三区 | 在线不卡av | 久久久不卡国产精品一区二区 | 黄色网址最新 | 亚洲国产成人精品91久久久 | 久久久穴| 国产精品av一区二区 | 性欧美18—19sex性高清 | 亚洲男女在线 | 97在线精品 | 美女福利在线观看 | 潘金莲一级淫片aaaaa | 在线观看日韩国产 | 日韩人妻无码一区二区三区99 | 国产性按摩 | 欧美精品一区二区三区四区 | 精品人妻少妇嫩草av无码 | 青青草老司机 | 国产日韩网站 | 草莓巧克力香氛动漫的观看方法 | 亚洲成人激情视频 | 欲涩漫入口免费网站 | 国产古装艳史毛片hd | 欧美性大战久久久久久久蜜桃 | 国产精品无码一区二区三区在线看 | 国产女人视频 | 欧美高清在线观看 | 国产国语亲子伦亲子 | 97久久久久久 | 黄色小毛片 | 熟妇大屁股一区二区三区视频 | 国产鲁鲁| 国产免费一区二区三区最新不卡 | 艳妇臀荡乳欲伦交换电影 | 好男人视频www | 亲嘴扒胸摸屁股免费视频日本网站 | 狠狠爱综合网 | 污污视频在线观看网站 | 日韩精品电影在线观看 | 欧美a在线播放 | 久插视频 | 久久天天躁狠狠躁夜夜躁 | 夜夜爱爱| 特大黑人娇小亚洲女mp4 | 久久久久人妻一区精品色欧美 | 老湿影院av| 久久精品a | 一区二区自拍偷拍 | 日韩欧美亚洲在线 | 成人福利免费视频 | 国产精品视频久久久久久 | 色88久久久久高潮综合影院 | 欧美性天天影院 | 午夜国产一区二区 | 欧洲性生活片 | 国产免费福利视频 | 国产亚洲av综合人人澡精品 | 亚洲干干干 | 青青免费视频 |