欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

MySQL中如何實(shí)現(xiàn)讀寫(xiě)分離

MySQL中如何實(shí)現(xiàn)讀寫(xiě)分離,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

為曹縣等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及曹縣網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、曹縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

一,創(chuàng)建Master數(shù)據(jù)庫(kù)的配置文件

vi master.cnf [mysqld] # master server id server-id = 1  # bin log log_bin = mysql-master-bin
  • server-id,在MySQL集群數(shù)據(jù)庫(kù)中,這個(gè)參數(shù)必須唯一

  • log_bin,MySQL采用二進(jìn)制日志文件復(fù)制的文件名

二,將該配置文件拷貝到MySQL Docker容器中

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql docker cp master.cnf fdb98bbd52b6:/etc/mysql/conf.d

三,提交修改后的Docker容器

docker commit -m "add master configure file" fdb98bbd52b6 mysql:master [root@dev01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql master 345465966cb5 3 hours ago 445MB
  • commit -m是修改容器后提交的信息,類似Git提交;

  • fdb98bbd52b6是剛才修改的容器;

  • mysql:master是我們?yōu)樾薷暮蟮娜萜鞔蛏蟭ag標(biāo)簽master

接下來(lái)我們修改MySQL Slave(從數(shù)據(jù)庫(kù))的容器配置文件

一,創(chuàng)建Slave數(shù)據(jù)庫(kù)的配置文件

vi slave.cnf [mysqld] # slave server id server-id = 2  # bin log log_bin = mysql-slave-bin relay_log = mysql-relay-bin log_slave_updates = 1 read_only = 1
  • server-id為從數(shù)據(jù)庫(kù)的ID,該參數(shù)在MySQL集群中必須保持唯一性;

  • log_bin如果slave為其它slave的master,必須設(shè)置bin_log,在這里我們暫時(shí)開(kāi)啟;

  • relay_log配置中繼日志

  • log_slave_updates表示slave將復(fù)制事件寫(xiě)進(jìn)自己的二進(jìn)制日志(后面會(huì)看到它的用處);

  • read_only盡量使用read_only,它防止改變數(shù)據(jù)(除了特殊的線程);

二,將配置文件拷貝到容器中

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql docker cp slave.cnf 8ee82abb2e91:/etc/mysql/conf.d

三,提交修改后的Docker容器

docker commit -m "add slave configure file" 8ee82abb2e91 mysql:slave [root@dev01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql slave 3a53cd39ee45 4 hours ago 445MB

到此,所需要的兩個(gè)MySQL容器已經(jīng)修改完畢,并且保存在我們本地的容器倉(cāng)庫(kù)中,接下來(lái)我們開(kāi)始啟動(dòng)剛才修改的兩個(gè)容器進(jìn)行后續(xù)的配置

一,啟動(dòng)Master數(shù)據(jù)庫(kù)

docker run --name master -e MYSQL_ROOT_PASSWORD=root -d mysql:master
  • --name master是我們?yōu)閱?dòng)的容器名;

  • mysql:master是我們剛才修改后并且提交到本地的Docker鏡像

  • 默認(rèn)數(shù)據(jù)庫(kù)root的密碼設(shè)置為root

二,啟動(dòng)Slave數(shù)據(jù)庫(kù)

docker run --link master:master --name slave -e MYSQL_ROOT_PASSWORD=root -d mysql:slave
  • 為了master容器與slave容器的網(wǎng)絡(luò)互通,我們添加了--line選項(xiàng)來(lái)連接到我們剛才啟動(dòng)的名為master容器;

  • --name slave是我們?yōu)閱?dòng)的容器名;

  • mysql:slave是我們剛才修改后并且提交到本地的Docker鏡像;

  • 默認(rèn)數(shù)據(jù)庫(kù)root的密碼設(shè)置為root

三,進(jìn)入master容器中通過(guò)mysql命令進(jìn)入數(shù)據(jù)庫(kù)

docker exec -it master /bin/bash mysql -u root -proot

四,在master數(shù)據(jù)庫(kù)中創(chuàng)建用于復(fù)制數(shù)據(jù)的賬號(hào),并且給該賬號(hào)相應(yīng)的權(quán)限

create user 'repl'@'%' identified by 'repl-pwd'; grant replication slave on *.* to 'repl'@'%'; flush privileges;

五,查看master數(shù)據(jù)庫(kù)的狀態(tài)

mysql> show master status; +-------------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-------------------------+----------+--------------+------------------+-------------------+ | mysql-master-bin.000003 | 2743 | | | | +-------------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)

六,進(jìn)入slave容器中通過(guò)mysql命令進(jìn)入數(shù)據(jù)庫(kù)

docker exec -it slave /bin/bash mysql -u root -proot

七,配置slave,將master數(shù)據(jù)庫(kù)指向剛才配置好的master數(shù)據(jù)庫(kù)節(jié)點(diǎn),并且啟動(dòng)slave

change master to master_host='master', master_user='repl', master_password='repl-pwd', master_log_file='mysql-master-bin.000003', master_log_pos=0; start slave;

八,查看slave數(shù)據(jù)庫(kù)狀態(tài)

mysql> show slave status\G *************************** 1. row ***************************  Slave_IO_State:  Master_Host: master  Master_User: repl  Master_Port: 3306  Connect_Retry: 60  Master_Log_File: mysql-master-bin.000003  Read_Master_Log_Pos: 4  Relay_Log_File: mysql-relay-bin.000001  Relay_Log_Pos: 4  Relay_Master_Log_File: mysql-master-bin.000003  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: 4  Relay_Log_Space: 155  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: 2061  Last_IO_Error: error connecting to master 'repl@master:3306' - retry-time: 60 retries: 1 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.  Last_SQL_Errno: 0  Last_SQL_Error:  Replicate_Ignore_Server_Ids:  Master_Server_Id: 0  Master_UUID:  Master_Info_File: mysql.slave_master_info  SQL_Delay: 0  SQL_Remaining_Delay: NULL  Slave_SQL_Running_State:  Master_Retry_Count: 86400  Master_Bind:  Last_IO_Error_Timestamp: 190912 06:06:14  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:  Master_public_key_path:  Get_master_public_key: 0  Network_Namespace: 1 row in set (0.00 sec)

由于最新版的MySQL為了提升安全性更改了密碼校驗(yàn)插件,在這里我們還是采用之前的密碼校驗(yàn)插件,我們?cè)趍aster數(shù)據(jù)庫(kù)上用如下的命令來(lái)修改剛才在master數(shù)據(jù)庫(kù)創(chuàng)建的用戶

alter user 'repl'@'%' identified by 'repl-pwd' password expire never; alter user 'repl'@'%' identified with mysql_native_password by 'repl-pwd'; flush privileges;

九,再次查看slave狀態(tài)

mysql> show slave status\G *************************** 1. row ***************************  Slave_IO_State: Waiting for master to send event  Master_Host: master  Master_User: repl  Master_Port: 3306  Connect_Retry: 60  Master_Log_File: mysql-master-bin.000003  Read_Master_Log_Pos: 2743  Relay_Log_File: mysql-relay-bin.000002  Relay_Log_Pos: 2971  Relay_Master_Log_File: mysql-master-bin.000003  Slave_IO_Running: Yes  Slave_SQL_Running: Yes  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: 2743  Relay_Log_Space: 3179  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: 0 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: 1  Master_UUID: f6e8062e-d521-11e9-9009-0242ac110008  Master_Info_File: mysql.slave_master_info  SQL_Delay: 0  SQL_Remaining_Delay: NULL  Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates  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:  Master_public_key_path:  Get_master_public_key: 0  Network_Namespace: 1 row in set (0.00 sec)

我們主要查看Slave_IO_Running和Slave_SQL_Running,表示我們的slave數(shù)據(jù)庫(kù)節(jié)點(diǎn)已經(jīng)成功的連接到了我們的master數(shù)據(jù)庫(kù)節(jié)點(diǎn)。

十,驗(yàn)證,我們?cè)趍aster數(shù)據(jù)庫(kù)節(jié)點(diǎn)上創(chuàng)建一個(gè)空的數(shù)據(jù)庫(kù)

mysql> create database data; Query OK, 1 row affected (0.10 sec)  mysql> show databases; +--------------------+ | Database | +--------------------+ | data | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.01 sec)

十一,驗(yàn)證slave,查看剛才在master數(shù)據(jù)庫(kù)節(jié)點(diǎn)上創(chuàng)建的數(shù)據(jù)庫(kù)是否同步到slave數(shù)據(jù)節(jié)點(diǎn)

mysql> show databases; +--------------------+ | Database | +--------------------+ | data | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.01 sec)

可以看到,我們剛才在master數(shù)據(jù)庫(kù)節(jié)點(diǎn)上創(chuàng)建的數(shù)據(jù)庫(kù)已經(jīng)同步到我們的slave數(shù)據(jù)庫(kù)節(jié)點(diǎn),master和slave的數(shù)據(jù)庫(kù)數(shù)據(jù)已經(jīng)保持一致。

關(guān)于MySQL中如何實(shí)現(xiàn)讀寫(xiě)分離問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

分享名稱:MySQL中如何實(shí)現(xiàn)讀寫(xiě)分離
網(wǎng)站鏈接:http://aaarwkj.com/article14/ipdede.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、、網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
国产成人免费自拍一区| 青青草av一区二区三区| 日本福利资源在线观看| 年轻的母亲韩国三级| 精品一区二区三区乱码中文| 精品国产综合一区二区三区| 国产精品一级自拍视频| 国产三级在线dvd观看| 97视频精品免费观看| 粉嫩一区二区三区在线| 国产91香蕉在线精品| 青青草青青草在线观看视频| 日韩精品有码在线视频免费观看| 亚洲国产日朝欧美综合久久| 日本特黄特黄录像在线| 18禁黄久久久一区二区三区| 亚洲国产熟对白剧情一区二区| 成人av在线天堂一区二区三区| 在线免费观看91亚洲| 人妻91一区二区三区| 欧美精品一区二区亚洲| 国产精品久久久久大屁股精品性色 | 亚洲乱色一区二区三区丝袜| 亚洲成人av综合在线| 国产国产成人精品久久| 福利一区二区在线视频| 亚洲不卡在线视频免费| 国产精品免费观看在线国产| 无遮挡无掩盖的免费网站| 日韩欧美国产精品一区| 日韩人妻精品中文字幕专区不卡| 日本特黄高清免费大片| 麻豆视频传媒入口在线播放| 青青青在线视频观看华人| 国产无遮挡的免费视频| 国产av超爽剧情系列| 东京热男人的天堂视频| 一区二区三区在线观看淫| 精品人妻中文字幕在线| 亚洲欧美精品成人一区| 久久综合色爱综合欧美|