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

歡迎訪問 生活随笔!

生活随笔

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

数据库

centos7 mysql启动失败_Mysql主从复制

發布時間:2025/3/15 数据库 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos7 mysql启动失败_Mysql主从复制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?好在,別人如何分析我,跟我本身是一點關系也沒有的。(by 三毛)

主從復制的常見用途

1.數據備份

對備份來說,復制是一項很有意義的技術補充,但復制既不是備份也不能取代備份

2.負載均衡(讀寫分離)

通過MySQL主從復制,可以把寫操作放在主庫(master),讀取操作放在多個從庫(slave),能夠很好的將負載分離到不同的MySQL服務器上,從而減輕單一數據庫的操作壓力

3.高可用性和故障切換

復制能夠幫助應用程序避免MySQL單點失敗,當主庫(master)發生故障后,可以立馬切換到從庫(slave),降低服務器數據風險。

4.MySQL升級測試

使用一個更高版本的MySQL作為備庫,保證在升級全部實例前,查詢能夠在備庫預期執行

主從復制的原理

面試題:1 主從復制是如何工作的?2 簡單介紹下主從復制的基本原理?

Plus版

1.主庫將數據更改記錄到二進制日志(Binary Log)

2.從庫將主庫上的日志復制到自己的中繼日志(Relay Log)中

3.從庫讀取中繼日志中的事件,將其重放到從庫數據之上

大眾

主庫(master)記錄下自己的操作日志,授權從庫可以讀取操作日志,從庫(slave)會開啟兩個線程。

  • IO線程 負責連接主庫(master) 連接成功后,睡眠并等待主庫(master)產生新的事件,有新的就保存到自己的中繼日志中,中繼日志通常位于操作系統的緩存中,所以開銷很小。
  • sql進程 負責執行中繼日志中的sql操作,這樣從庫(slave)的內容就和主庫(master)的一致了

執行步驟

第一步

主庫記錄二進制日志,在每次更新事件(update、insert、delete)事務提交前,主庫會將數據更新的事件寫入二進制日志中(Binary Log)

第二步

從庫會啟動一個工作線程(I/O線程),I/O線程會跟主庫建立一個客戶端連接,然后主庫會啟動一個特殊的二進制轉儲(binlog dump)線程,這個線程會讀取主庫中的二進制日志中的事件并將其讀到的binlog的內容發到從庫

第三步

從庫的SQL線程執行最后一步,該線程從中繼日志中讀取更新事件并在從庫執行,從而實現從庫的數據更新

配置主從復制(以Centos 7 為例)

首先

停止對主庫(master)數據庫的操作,把主庫(master)中的數據庫全部導入到從庫(slave),使兩邊數據庫完全一致。

小提示 主從配置需要注意的點1 主從服務器操作系統版本和位數一致2 主庫和從庫的版本保持一致(注:從庫的版本可以高于主庫,但一定不能低于主庫)3 主庫和從庫的數據要一致4 主庫開啟二進制日志,主庫和從庫的server_id在局域網內必須各自唯一

主庫(master)配置

1.創建復制賬號

MySQL會給一些特殊權限到復制線程,從庫的I/O線程會創建一個連接到主庫的TCP/IP連接,這就需要主庫上創建一個復制用戶,并賦予其合適的權限,語句如下

mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO repl@'%' IDENTIFIED BY '123456';

2.修改主庫的配置文件

修改master的配置文件,使用二進制日志,指定server-id,重啟服務。

cd /etc/vi my.cnf

添加如下配置

log_bin=mysql-bin //[*]啟用二進制日志server_id=10 //[*]服務器唯一ID

配置完成后需要重啟mysqlserver才能生效。

systemctl restart mysqld

3.檢查二進制日志文件名

mysql> show master status;

從庫(slave)配置

1.修改配置文件my.cnf

vi /etc/my.cnf

添加如下配置

log_bin=mysql-binserver_id=2relay_log=/var/lib/mysql/mysql-relay-binlog_slave_updates=1read_only=1

2.將從庫(slave)指向主庫(master)

CHANGE MASTER TO MASTER_HOST='你主庫的IP地址',MASTER_USER='你創建的復制用戶名',MASTER_PASSWORD='密碼',MASTER_LOG_FILE='你的二進制日志文件名',MASTER_LOG_POS=主庫查到的Position;

3.啟動slave

mysql>start slave;

4.查看slave狀態

mysql> mysql slave statusG

結果中有兩個重要數據項:

Slave_IO_Running: Yes IO線程狀態,必須YESSlave_SQL_Running: Yes SQL線程狀態,必須YES

測試

我搭建了兩套CentOS7環境,給大家演示一下.

mysql主從復制Testhttps://www.zhihu.com/video/1191670270795292672

掃碼關注左羊公社,回復關鍵字“面試”,即可無套路獲取JAVA面試資源?。?

更多精彩內容

請關注左羊公社

總結

以上是生活随笔為你收集整理的centos7 mysql启动失败_Mysql主从复制的全部內容,希望文章能夠幫你解決所遇到的問題。

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