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

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

MySQL主從復(fù)制認(rèn)識(shí)

  • MySQL主從復(fù)制作用
    1)、什么是MySQL主從復(fù)制
    MySQL主從復(fù)制是指數(shù)據(jù)可以從一個(gè)MySQL數(shù)據(jù)庫服務(wù)器主節(jié)點(diǎn)復(fù)制到一個(gè)或多個(gè)MySQL數(shù)據(jù)庫從節(jié)點(diǎn)。MySQL默認(rèn)采用異步復(fù)制方式,這樣從節(jié)點(diǎn)不用一直訪問主服務(wù)器來更新自己的數(shù)據(jù),數(shù)據(jù)的更新可以在遠(yuǎn)程連接上進(jìn)行,從節(jié)點(diǎn)可以復(fù)制主數(shù)據(jù)庫中的所有數(shù)據(jù)庫或者特定的數(shù)據(jù)庫。
    2)、MySQL主從復(fù)制作用
    一、數(shù)據(jù)熱備
    作為備數(shù)據(jù)庫,當(dāng)主數(shù)據(jù)庫服務(wù)器發(fā)生故障后,可切換到從數(shù)據(jù)庫繼續(xù)工作,避免數(shù)據(jù)丟失。
    二、讀寫分離
    可支持MySQL數(shù)據(jù)庫服務(wù)器支持更大的并發(fā)。數(shù)據(jù)讀寫操作可分配在不同的服務(wù)器間進(jìn)行。如操作報(bào)表中尤其重要,由于部分報(bào)表SQL語句非常的慢,會(huì)導(dǎo)致鎖表,影響前臺(tái)服務(wù)。使用主從復(fù)制,前臺(tái)使用master,負(fù)責(zé)寫,報(bào)表使用slave,負(fù)責(zé)讀,那么報(bào)表SQL將不會(huì)造成前臺(tái)鎖表,保證了前臺(tái)正常運(yùn)行。
    三、架構(gòu)擴(kuò)展
    隨著業(yè)務(wù)量越來越大,I/O訪問頻率過高,單機(jī)可能無法滿足。此時(shí)做多庫的存儲(chǔ),如一主多從方式,以降低磁盤I/O訪問,提高單個(gè)機(jī)器的I/O性能。
  • MySQL主從復(fù)制原理
    MySQL數(shù)據(jù)復(fù)制的基礎(chǔ)是二進(jìn)制日志文件(binary log file)。一臺(tái)MySQL數(shù)據(jù)庫一旦啟用二進(jìn)制日志后,其作為master節(jié)點(diǎn),數(shù)據(jù)庫中所有操作都會(huì)以“事件”的方式記錄在二進(jìn)制日志中,其他數(shù)據(jù)庫作為slave通過一個(gè)I/O線程與主服務(wù)器保持通信,并監(jiān)控master的二進(jìn)制日志文件的變化,如發(fā)現(xiàn)master二進(jìn)制日志文件發(fā)生變化,則會(huì)把變化復(fù)制到自己的中繼日志中,然后slave的一個(gè)SQL線程會(huì)把相關(guān)的“事件”執(zhí)行到自己的數(shù)據(jù)庫中,以此實(shí)現(xiàn)從數(shù)據(jù)庫和主數(shù)據(jù)庫的一致性,也就實(shí)現(xiàn)了主從復(fù)制。
    MySQL主從復(fù)制認(rèn)識(shí)
    總結(jié)如下:
    1)、master將操作語句記錄到binlog日志中,然后授予slave遠(yuǎn)程連接的權(quán)限(master上創(chuàng)建授權(quán)的用戶,開啟binlog二進(jìn)制日志功能;通常為了數(shù)據(jù)安全考慮,slave也開啟binlog功能)。
    2)、slave開啟兩個(gè)線程:IO線程和SQL線程。IO線程負(fù)責(zé)讀取master的binlog內(nèi)容到中繼日志relay log里;SQL線程負(fù)責(zé)從relay log日志里讀出binlog內(nèi)容,并更新到slave的數(shù)據(jù)庫里,這樣就能保證slave數(shù)據(jù)和master數(shù)據(jù)保持一致了。
    3)、Mysql主從復(fù)制至少需要兩個(gè)Mysql服務(wù),當(dāng)然Mysql服務(wù)可以分布在不同的服務(wù)器上,也可以在一臺(tái)服務(wù)器上啟動(dòng)多個(gè)MySQL服務(wù)。
    4)、Mysql主從復(fù)制最好確保master和slave服務(wù)器上的Mysql版本相同。
  • MySQL主從形式
    常見的主從形式:
    一主一從
    MySQL主從復(fù)制認(rèn)識(shí)
    一主兩從、一主多從
    MySQL主從復(fù)制認(rèn)識(shí)
    聯(lián)級(jí)復(fù)制
    MySQL主從復(fù)制認(rèn)識(shí)
  • MySQL主從復(fù)制操作
    OS:CentOS7
    主從形式:一主一從
    實(shí)現(xiàn)MySQL主從復(fù)制需要進(jìn)行的配置:
    主服務(wù)器
    開啟二進(jìn)制日志
    配置唯一的server-id
    獲得master二進(jìn)制日志文件名及位置
    創(chuàng)建一個(gè)用于slave和master通信的用戶賬號(hào)
    從服務(wù)器
    配置唯一的server-id
    使用master分配的用戶賬號(hào)讀取master二進(jìn)制日志
    啟用slave服務(wù)
    具體操作:
    主服務(wù)器操作
    1)、修改主數(shù)據(jù)庫服務(wù)器配置文件my.cnf
    server_id = 1                #唯一標(biāo)識(shí),主庫從庫不能重復(fù)
    log_bin = mysql-bin          #開啟日志
    binlog_format=MIXED         #日志記錄的格式
    max_binlog_size = 512M     #單個(gè)日志文件最大
    expire_logs_day = 3          #日志有效期(天)
    binlog_do_db = test1,test2     #日志記錄那些數(shù)據(jù)庫
    binlog_ignore_db = mysql,performance_schema,information_schema   #日志記錄忽略那些數(shù)據(jù)庫

    2)、創(chuàng)建用于同步賬戶

    創(chuàng)新互聯(lián)公司專注于洪江管理區(qū)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供洪江管理區(qū)營(yíng)銷型網(wǎng)站建設(shè),洪江管理區(qū)網(wǎng)站制作、洪江管理區(qū)網(wǎng)頁設(shè)計(jì)、洪江管理區(qū)網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造洪江管理區(qū)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供洪江管理區(qū)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

    mysql> CREATE USER 'user'@'10.10.10.11' IDENTIFIED BY 'passwd';    #創(chuàng)建用戶
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'user'@'10.10.10.11';    #分配權(quán)限,只能10.10.10.11從服務(wù)器連接
    mysql>flush privileges;

    3)、查看master狀態(tài)
    show master status命令記錄二進(jìn)制文件名(mysql-bin.000003)和position位置(77)。

    mysql > SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 77       | test         | manual,mysql     |
    +------------------+----------+--------------+------------------+

    從服務(wù)器操作
    1)、修改從數(shù)據(jù)庫服務(wù)器配置文件my.cnf

    server_id = 2
    log_bin = mysql-bin     #開啟日志
    binlog_format=MIXED     #日志記錄的格式
    max_binlog_size = 512M     #單個(gè)日志文件最大
    expire_logs_day = 3   #日志有效期(天)
    replicate_do_db = test1,test2     #slave上配置,指定slave要復(fù)制哪個(gè)庫
    replicate-ignore-db=mysql,performance_schema,information_schema     #slave上配置,指定slave要忽略哪些庫
    relay_log_recovery = 1     #從庫建議開啟,有利于數(shù)據(jù)一致性
    log_slave_updates = 1      #如果從庫還會(huì)用做主庫,建議開啟

    2)、設(shè)置同步信息
    先停止同步

    mysql>stop slave;

    設(shè)置同步信息

    mysql> CHANGE MASTER TO
    ->     MASTER_HOST='10.10.10.10',
    ->     MASTER_USER='user',
    ->     MASTER_PASSWORD='passwd',
    ->     MASTER_LOG_FILE='mysql-bin.000003',
    ->     MASTER_LOG_POS=77;

    其中master_log_file 和 master_log_pos為上面主庫show master status命令記錄的信息。
    3)、啟動(dòng)slave 同步進(jìn)程

    mysql>start slave;

    4)、slave狀態(tài)查看
    show slave status\G 命令查看,主要查看這幾項(xiàng):

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    Master_Log_File: mysql-bin.000003
    Relay_Master_Log_File: mysql-bin.000003
    Read_Master_Log_Pos: 2720
    Exec_master_log_pos: 2720

    Slave_IO_Running和Slave_SQL_Running都為YES,表示主從同步設(shè)置成功了。
    驗(yàn)證操作,如在master數(shù)據(jù)庫的test數(shù)據(jù)庫的一張表中插入一條數(shù)據(jù),在slave的test庫的相同數(shù)據(jù)表中查看是否有新增的數(shù)據(jù),即可驗(yàn)證主從復(fù)制功能是否有效,還可以關(guān)閉slave(mysql>stop slave;),然后再修改master,看slave是否也相應(yīng)修改(停止slave后,master的修改不會(huì)同步到slave),就可完成MySQL主從復(fù)制功能的驗(yàn)證了。


分享題目:MySQL主從復(fù)制認(rèn)識(shí)
鏈接URL:http://weahome.cn/article/jdsjss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部