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

Mysql一主多從部署的實現(xiàn)步驟

 更新時間:2022年05月20日 11:31:47   作者:Persistence___  
本文主要介紹了Mysql一主多從部署的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

1.下載地址

https://dev.mysql.com/downloads/mysql/

2.下載tar.gz包

選擇redhat版本

在這里插入圖片描述

在這里插入圖片描述

3.安裝

1.linux系統(tǒng)上創(chuàng)建mysql1用戶

useradd mysql1

2.將tar.gz包上傳到服務(wù)器上并且解壓

tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

3.將mysql-5.7.31-el7-x86_64目錄下的文件mv到 /home/mysql1下

4.mkdir -p /home/mysql1/data 文件存儲mysql1數(shù)據(jù)目錄

mkdir -p /home/mysql1/data

5.將/etc/my.cfg文件復(fù)制到mysql家目錄下

cp /etc/my.cnf /home/mysql1/

6.對/home/mysql1下賦權(quán)

chmod -R 755 /home/mysq1l
chown mysql:mysql -R /home/mysql1/data
chmod 777 /home/mysql1/data

7.修改mysql配置文件

vi /home/mysql1/my.cnf

[mysqld]
user                            = 
port                            = 3307
basedir                         = /home/mysql1
datadir                         = /home/mysql1/data
socket                          = /home/mysql1/mysql.sock
pid_file                        = /home/mysql1/mysql.pid
log_error                       = /home/mysql1/data/error.log
#binlog日志文件
log_bin                         = /home/mysql1/data/mysql-bin
relay_log                       = /home/mysql1/data/relay-bin
slow_query_log_file             = /home/mysql1/data/slow.log
#binlog過期清理時間
expire_logs_days                = 15
log-slave-updates               = 1
log_bin_trust_function_creators = 1
lower_case_table_names          = 1
max_connections                 = 3000
max_connect_errors              = 1000000 
# 每個實例的id都設(shè)置成不一樣的,比如a主機,3307 b主機設(shè)置成23307,c主機設(shè)置成33307,后面1主2從會用到
server-id                       = 3307                              
autocommit                      = 1
# pool_size根據(jù)實際情況進行更新
innodb_buffer_pool_size         = 40G
innodb_buffer_pool_instances    = 8
innodb_write_io_threads         = 16
innodb_read_io_threads          = 16
#mysql復(fù)制主要有三種方式:基于SQL語句的復(fù)制(statement-based replication, SBR),基于行的復(fù)制(row-based replication, RBR),混合模式復(fù)制(mixed-based replication, MBR)。對應(yīng)的,binlog的格式也有三種:STATEMENT,ROW,MIXED
binlog_format                   = ROW
gtid_mode                       = on
enforce_gtid_consistency        = 1
innodb_flush_log_at_trx_commit  = 1  
#add 2                          
innodb_thread_concurrency       = 20
innodb_print_all_deadlocks      = 1
innodb_flush_method             = O_DIRECT
innodb_io_capacity              = 8000
innodb_io_capacity_max          = 15000
enforce_gtid_consistency        = 1
binlog_rows_query_log_events    = 1
character_set_server            = utf8mb4
default-storage-engine          = INNODB
transaction_isolation           = READ-COMMITTED
max_allowed_packet              = 67108864
event_scheduler                 = 1
slow_query_log                  = on
explicit_defaults_for_timestamp = 1   
master_info_repository          = TABLE
relay_log_info_repository       = TABLE
relay_log_recovery              = 1
relay_log_purge                 = 0  
slave_rows_search_algorithms    = 'INDEX_SCAN,HASH_SCAN'
slave_parallel_type             = LOGICAL_CLOCK
slave_parallel_workers          = 16
slave_preserve_commit_order     = 1
slave_transaction_retries       = 64
sync_relay_log                  = 0
sync_relay_log_info             = 0
sync_master_info                = 0
sync_binlog                     = 1
collation_server                = utf8mb4_bin
skip_name_resolve               = 1 
plugin-load                     = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled    = 1
rpl-semi-sync-slave-enabled     = 1

8.數(shù)據(jù)文件初始化

1.初始化

./mysqld --defaults-file=/home/mysql1/my.cnf --initialize --basedir=/home/mysql1 --datadir=/home/mysql1/data --user=mysql1

2.啟動

./mysqld_safe --defaults-file=/home/mysql1/my.cnf --user=mysql1 &

查看mysql進程已經(jīng)起來,并且監(jiān)聽3307接口

在這里插入圖片描述

3.本機登陸,root的初始密碼可以在errorlog中找到

cat error.log | grep "temporary password"

在這里插入圖片描述

4.本機登錄指定sock文件以及指定端口及輸入臨時密碼

./mysql -uroot -P3307 -S /home/mysql1/mysql.sock -p

5. 登錄后修改root密碼

set password=password('XXXXXXXX'); 修改密碼
flush privileges;

6. 賦予權(quán)限

grant all privileges on *.* to 'root'@'%' identified by 'XXXXXXX' with grant option;
flush privileges;

7. 停止服務(wù)

./mysqladmin shutdown -uroot -p******** -S /home/mysql1/mysql.sock

4.使用mysql客戶端datagrip連接mysql成功

在這里插入圖片描述

5.通過如上相同操作安裝從庫,只修改配置文件相關(guān)信息,并且初始化,并且客戶端連接

在這里插入圖片描述

6.在master數(shù)據(jù)庫上執(zhí)行

1.創(chuàng)建repl用戶并且賦予同步權(quán)限

CREATE USER 'repl' IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by 'slavepass';
flush privileges;

在這里插入圖片描述

2.查看master狀態(tài)

SHOW MASTER STATUS\G;

在這里插入圖片描述

7.在slave上面執(zhí)行

1.配置slave從節(jié)點的master節(jié)點以及binlog偏移位置等

CHANGE MASTER TO MASTER_HOST='master地址',
MASTER_USER='repl',
MASTER_PASSWORD='slavepass',
MASTER_LOG_FILE='mysql-bin.000003', #為master的log_file
MASTER_LOG_POS=1597,       #master的POS
MASTER_PORT=3307;

在這里插入圖片描述

2.啟動slave同步進程以及查看slave狀態(tài)

start slave;  #啟動slave同步進程
show slave status\G;

在這里插入圖片描述

8.測試

在mysql1中創(chuàng)建testdb,使用datagrip在mysql2中即可查看從mysql1中同步的新增的庫以及數(shù)據(jù),不過datagrip需要刷新下客戶端。

,

9.總結(jié)主從部署

注意主從mysql的my.cnf配置文件的server-id必須配置不一樣

到此這篇關(guān)于Mysql一主多從部署的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Mysql一主多從內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論