本文目錄一覽:
mysql (percona)5.7 安裝及主從配置
開始安裝:
注意提示需要安裝net-tools包:
按順序安裝:
查詢日誌裡面的初始化密碼:
修改密碼:
1,設置utf-8字元格式,兩個主機配置相同
授權
主機(master)添加配置文件信息:
主機添加配置信息:
從機添加的配置信息:
master伺服器查看MySQL狀態:
運行slave伺服器MySQL(從伺服器):執行接入master伺服器MySQL服務語句:
運行:
主庫上操作
安全最重要!MySQL配置主從複製,主主複製
為了保障數據的安全與穩定性,我們常用資料庫的主從複製與主主複製來實現。主從複製為從機實時拷貝一份主機的數據,當主機有數據變化時,從機的數據會跟著變,當從機數據有變化時,主機數據不變;同樣地,主主複製就是,多個主機之間,只要有一個主機的數據變化了,其它主機數據也會跟著變化。
添加以下內容
如果你是使用我之前那種方式啟動的MySQL,那麼你只需要去你相關聯的宿主機的配置文件夾裡面去建立一個 my.cnf 然後寫入上面的類容就好了。
比如:我的啟動命令如下(不應該換行的,這裡為了方便查看,我給它分行了)
那麼我只需要在 /docker/mysql_master/conf 這個目錄下創建 my.cnf 文件就好了。
這個命令是需要在容器裡面執行的
docker重啟mysql會關閉容器,我們需要重啟容器。
確保在主伺服器上 skip_networking 選項處於 OFF 關閉狀態, 這是默認值。 如果是啟用的,則從站無法與主站通信,並且複製失敗。
我的命令如下
在從伺服器配置連接到主伺服器的相關信息 (在容器裡面的mysql執行)
上面代碼的xxxxx你需要換成你的IP,docker 查看容器 IP 的命令如下:
啟動的那個從伺服器的線程
測試的話,你可以在主伺服器裡面,創建一個資料庫,發現從伺服器裡面也有了,就成功了。
如果你還想要一個從伺服器,那麼你只需要按照上面配置從伺服器再配置一個就行了,新建的從伺服器,會自動保存主伺服器之前的數據。(測試結果) 如果你上面的主從複製搞定了,那麼這個主主複製就很簡單了。我們把上面的從伺服器也改成主伺服器
1)、修改上面的從伺服器的my.cnf文件,和主伺服器的一樣(注意這個server-id不能一樣)然後重啟伺服器 2)、在從伺服器裡面創建一個複製用戶創建命令一樣(這裡修改一下用戶名可以改為 repl2) 3)、在之前的主伺服器裡面運行下面這個代碼
上面主要是教你怎麼搭建一個MySQL集群,但是這裡面還有很多其它的問題。也是我在學習過程中思考的問題,可能有的小夥伴上來看到文章長篇大論的看不下去,只想去實現這樣一直集群功能,所以我就把問題寫在下面了。
1)、MySQL的replication和pxc MySQL的集群方案有replication和pxc兩種,上面是基於replication實現的。
replication: 非同步複製,速度快,無法保證數據的一致性。 pxc: 同步複製,速度慢,多個集群之間是事務提交的數據一致性強。
2)、MySQL的replication數據同步的原理 我們在配置的時候開啟了它的二進位日誌,每次操作資料庫的時候都會更新到這個日誌裡面去。主從通過同步這個日誌來保證數據的一致性。
3)、可否不同步全部的數據 可以配置,同步哪些資料庫,甚至是哪些表。
4)、怎麼關閉和開始同步
5)、我就我的理解畫出了,主從、主從從、主主、複製的圖。
往期推薦:
利用Docker僅花1分鐘時間安裝好MySQL服務
Linux下MySQL 5.7的離線與在線安裝(圖文)
Linux下安裝MySQL8.0(收藏!)
mysql 怎麼配置主從資料庫
5.6mysql怎麼進行主從配置
在主資料庫中創建新資料庫rep_test。
然後編輯主資料庫的my.ini文件
在[mysqld]節點中增加如下內容:
server-id=1 #指定唯一的ID,1至32,必須的
log-bin=mysql-log-bin #指定二進位日誌存放路徑,必須的
binlog-do-db=rep_test #指定要同步的資料庫,必須的
#binlog-ignore-db=mysql #指定不要同步的資料庫,如果指定了binlog-do-db就不用再指定該項
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186270.html