真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mysql主從同步

什么是MySQL 主從同步 ?


從庫(kù)同步主庫(kù)上的數(shù)據(jù),(讓其他數(shù)據(jù)庫(kù)服務(wù)器自動(dòng)同步當(dāng)前正在被訪問(wèn)的數(shù)據(jù)服務(wù)器上的數(shù)據(jù))

察隅ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!

主從同步的結(jié)構(gòu)類(lèi)型

1主------>1從 (常用) 一臺(tái)主服務(wù)器(負(fù)責(zé)業(yè)務(wù)更新)一臺(tái)從服務(wù)器

1主------->多從(常用)一臺(tái)主服務(wù)器(負(fù)責(zé)業(yè)務(wù)更新)多臺(tái)從服務(wù)器

主------->從-------->從 一臺(tái)主服務(wù)器(負(fù)責(zé)業(yè)務(wù)更新)一臺(tái)從服務(wù)器 (同時(shí)作為另一臺(tái)的主服務(wù)器)一臺(tái)從服務(wù)器

主<==>主(不單獨(dú)用,一般和第三方軟件一起做高可用集群或負(fù)載均衡) 服務(wù)器相互為主從服務(wù)器

環(huán)境要求

1.mysql服務(wù)器版本需一樣

2.網(wǎng)絡(luò)能互聯(lián)

3.防火墻和selinux需要放行mysql 實(shí)驗(yàn)環(huán)境可以將selinux 和防火墻全部關(guān)閉

4.在配置成主從同步結(jié)構(gòu)之前,一定要讓從庫(kù)有和主庫(kù)一樣的數(shù)據(jù)(如果兩個(gè)服務(wù)器數(shù)據(jù)結(jié)構(gòu)不相同在主服務(wù)器上能執(zhí)行的sql在從服務(wù)器上,在從服務(wù)器上執(zhí)行出錯(cuò),sql線程就會(huì)NO了,不再同步)

主數(shù)據(jù)庫(kù)服務(wù)器

1.用戶(hù)授權(quán)

grant replication slave on . to 授權(quán)用戶(hù)@"從服務(wù)器ip地址" identified by "密碼"

2.啟用binlog日志

vim /etc/my.cnf

[mysqld]

server_id=0-255的值主從不要重復(fù)

log-bin=/指定binlog日志的文件夾/日志文件名 mysql服務(wù)用戶(hù)需要有指定文件夾的讀寫(xiě)執(zhí)行權(quán)限 可以不指定默認(rèn)是在數(shù)據(jù)庫(kù)目錄下/var/lib/mysql

binlog-format="mixed" 使用混合模式記錄日志(混合模式記錄改變結(jié)果和sql命令)

3.查看正在使用的binlog日志

show master status;


從數(shù)據(jù)庫(kù)服務(wù)器

1.驗(yàn)證主庫(kù)授權(quán)

#mysql -h主庫(kù)地址 -u授權(quán)用戶(hù) -p授權(quán)密碼;

在從服務(wù)器命令行能登陸說(shuō)明授權(quán)成功

2.指定server_id

vim /etc/my.cnf

[mysqld]

server_id=52

:wq

show slave status; 查看自己是不是從庫(kù)信息

因?yàn)檫€沒(méi)有指定過(guò)查不到信息

3.指定主庫(kù)信息

mysql> change master to
-> master_user="repluser", // 主服務(wù)器授權(quán)用戶(hù)
-> master_host="192.168.4.51", //主服務(wù)器ip地址
-> master_password="123456", //授權(quán)密碼
-> master_log_file="A1-bin.000001", //主服務(wù)器正在使用的binlog日志 可以在主服務(wù)器上show master status 查看到正在使用的日志以及已經(jīng)記錄的偏移量
-> master_log_pos=452;//binlog日志已經(jīng)記錄的偏移量
Query OK, 0 rows affected, 2 warnings (0.23 sec)

4.查看配置

show slave status\G;
1. row
Slave_IO_State:
Master_Host: 192.168.4.51
Master_User: repluser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: A1-bin.000001
Read_Master_Log_Pos: 452
Relay_Log_File: A2-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: A1-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 452
Relay_Log_Space: 154
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 0
Master_UUID:
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)
5.器用salve進(jìn)程

mysql> start slave;
Query OK, 0 rows affected (0.08 sec)

再次查看配置的時(shí)候以下兩個(gè)參數(shù)的值是YES

         Slave_IO_Running: YES   //IO線程
            將主服務(wù)器上的binlog日志(由主服務(wù)器上的  Binlog Dump 推送新的日志記錄)的sql命令記錄到本機(jī)的中繼日志文件里 /var/lib/mysql/主機(jī)名-relay-bin.編號(hào)
        Slave_SQL_Running: YES //SQL線程

驗(yàn)證配置

在主服務(wù)器上創(chuàng)建數(shù)據(jù)庫(kù),從服務(wù)器上就有主服務(wù)器上創(chuàng)建的數(shù)據(jù)庫(kù)

常見(jiàn)錯(cuò)誤原因

I/O線程起不來(lái)

配置參數(shù)出錯(cuò)將

防火墻

selinux

如果有錯(cuò)下列參數(shù)會(huì)有記錄錯(cuò)誤原因

show slave status\G;

           Last_IO_Errno: 0
           Last_IO_Error:
           Last_SQL_Errno: 0
           Last_SQL_Error:

SQL線程起不來(lái)

主從配置之前數(shù)據(jù)庫(kù)不統(tǒng)一,導(dǎo)致沖突

解決辦法 stop slave ;

先將從服務(wù)器上的數(shù)據(jù)庫(kù)恢復(fù)成主服務(wù)器上統(tǒng)一的數(shù)據(jù)庫(kù)

再啟動(dòng) start slave;

一主多從就是再加一個(gè)從服務(wù)器

在主服務(wù)器上再新建一個(gè)從服務(wù)器授權(quán)用戶(hù)

再配置一臺(tái)從數(shù)據(jù)庫(kù)服務(wù)器

主數(shù)據(jù)庫(kù)服務(wù)器部分配置文件參數(shù)

[mysqld]

binlog_do_db=庫(kù)名列表 //允許從同步的庫(kù)

binlog_ignore_db=庫(kù)名列表 //不允許從同步的庫(kù)

兩個(gè)參數(shù)都不寫(xiě)是同步所有的庫(kù)

從數(shù)據(jù)庫(kù)服務(wù)器部分配置文件參數(shù)

[mysqld]

binlog_do_db=庫(kù)名列表 //只從主同步的庫(kù)

binlog_ignore_db=庫(kù)名列表 //不從主同步的庫(kù)

兩個(gè)參數(shù)都不寫(xiě)是同步所有的庫(kù)

log_slave_updates //級(jí)聯(lián)復(fù)制 執(zhí)行中繼日志中的sql命令時(shí)記錄到binlog日志中 默認(rèn)binlog不記錄執(zhí)行中繼日志的sql(該參數(shù)需要在做主從從結(jié)構(gòu)時(shí)中間的從服務(wù)器上配置)


網(wǎng)站名稱(chēng):Mysql主從同步
本文URL:http://weahome.cn/article/ipheco.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部