'「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記'

Docker MySQL SQL Nginx 數據庫 Java Links Redis 技術 設計 java高端開發 2019-08-28
"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


節點說明:

binlog:

記錄master 節點的增刪改 語句

relaybinlog:

記錄從master 中複製過來的sql 語句

I/O Thread:

用於與master 節點通信,傳輸SQ語句信息

SQL Thread:

用於從relaybinlog 文件中讀取sql 並在slave中執行

相關命令:

#查看所有binlog

mysql> show binary logs;

#查看所有binlog 事件

mysql> show binlog events in 'mysql-bin.000003' from 145 \\G;

#使用binlog恢復誤刪數據

mysqlbinlog /data/mysql/mysql-master-bin.000002 --database=tuling --start-datetime='2018-01-05 01:00:00' --stop-datetime='2018-01-05 23:59:59' >/home/s1.sql

#查看 relaylog 事件

mysql >show relaylog events

mysql> show relaylog events in 'localhost-relay-bin.000019'

3、主從同步的其它作用

1. 實時災備

2. 用於故障切換

3. 讀寫分離負載均衡

4. 業務隔離

4、主從同步可能引發的問題及解決辦法

1. 數據一至性問題 :

2. 從庫更新延遲問題:

5、mySql 可選的主從架構方案

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


節點說明:

binlog:

記錄master 節點的增刪改 語句

relaybinlog:

記錄從master 中複製過來的sql 語句

I/O Thread:

用於與master 節點通信,傳輸SQ語句信息

SQL Thread:

用於從relaybinlog 文件中讀取sql 並在slave中執行

相關命令:

#查看所有binlog

mysql> show binary logs;

#查看所有binlog 事件

mysql> show binlog events in 'mysql-bin.000003' from 145 \\G;

#使用binlog恢復誤刪數據

mysqlbinlog /data/mysql/mysql-master-bin.000002 --database=tuling --start-datetime='2018-01-05 01:00:00' --stop-datetime='2018-01-05 23:59:59' >/home/s1.sql

#查看 relaylog 事件

mysql >show relaylog events

mysql> show relaylog events in 'localhost-relay-bin.000019'

3、主從同步的其它作用

1. 實時災備

2. 用於故障切換

3. 讀寫分離負載均衡

4. 業務隔離

4、主從同步可能引發的問題及解決辦法

1. 數據一至性問題 :

2. 從庫更新延遲問題:

5、mySql 可選的主從架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

三、Docker 一鍵編排MySql集群實戰

集群方案介紹:

部署方案:

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


節點說明:

binlog:

記錄master 節點的增刪改 語句

relaybinlog:

記錄從master 中複製過來的sql 語句

I/O Thread:

用於與master 節點通信,傳輸SQ語句信息

SQL Thread:

用於從relaybinlog 文件中讀取sql 並在slave中執行

相關命令:

#查看所有binlog

mysql> show binary logs;

#查看所有binlog 事件

mysql> show binlog events in 'mysql-bin.000003' from 145 \\G;

#使用binlog恢復誤刪數據

mysqlbinlog /data/mysql/mysql-master-bin.000002 --database=tuling --start-datetime='2018-01-05 01:00:00' --stop-datetime='2018-01-05 23:59:59' >/home/s1.sql

#查看 relaylog 事件

mysql >show relaylog events

mysql> show relaylog events in 'localhost-relay-bin.000019'

3、主從同步的其它作用

1. 實時災備

2. 用於故障切換

3. 讀寫分離負載均衡

4. 業務隔離

4、主從同步可能引發的問題及解決辦法

1. 數據一至性問題 :

2. 從庫更新延遲問題:

5、mySql 可選的主從架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

三、Docker 一鍵編排MySql集群實戰

集群方案介紹:

部署方案:

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

架構方案

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


節點說明:

binlog:

記錄master 節點的增刪改 語句

relaybinlog:

記錄從master 中複製過來的sql 語句

I/O Thread:

用於與master 節點通信,傳輸SQ語句信息

SQL Thread:

用於從relaybinlog 文件中讀取sql 並在slave中執行

相關命令:

#查看所有binlog

mysql> show binary logs;

#查看所有binlog 事件

mysql> show binlog events in 'mysql-bin.000003' from 145 \\G;

#使用binlog恢復誤刪數據

mysqlbinlog /data/mysql/mysql-master-bin.000002 --database=tuling --start-datetime='2018-01-05 01:00:00' --stop-datetime='2018-01-05 23:59:59' >/home/s1.sql

#查看 relaylog 事件

mysql >show relaylog events

mysql> show relaylog events in 'localhost-relay-bin.000019'

3、主從同步的其它作用

1. 實時災備

2. 用於故障切換

3. 讀寫分離負載均衡

4. 業務隔離

4、主從同步可能引發的問題及解決辦法

1. 數據一至性問題 :

2. 從庫更新延遲問題:

5、mySql 可選的主從架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

三、Docker 一鍵編排MySql集群實戰

集群方案介紹:

部署方案:

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

編排腳本:docker-compose.yml

version: "3.3"
services:
mysql-master:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- "3333:3306"
volumes:
- "/root/svr/mysql-cluster/master/my.cnf:/etc/mysql/conf.d/my.cnf"
mysql-slave1:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- "/root/svr/mysql-cluster/slave1/my.cnf:/etc/mysql/conf.d/my.cnf"
- "/root/svr/mysql-cluster/slave1/:/docker-entrypoint-initdb.d/"
depends_on:
- mysql-master
links:
- mysql-master
mysql-slave2:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- "/root/svr/mysql-cluster/slave2/my.cnf:/etc/mysql/conf.d/my.cnf"
- "/root/svr/mysql-cluster/slave2/:/docker-entrypoint-initdb.d/"
links:
- mysql-master
depends_on:
- mysql-master

master 配置文件

[mysqld]
binlog-do-db=tuling
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=personalsite
binlog-ignore-db=test
log-bin=mysql-master-bin
server-id=99

slave1 配置文件 my.cnf

[mysqld]
server-id =1
log-bin=mysql-bin
replicate-do-db=tuling
replicate-ignore-db=information
_schema
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test

slave2配置文件 my.cnf

[mysqld]
server-id =2
log-bin=mysql-bin
replicate-do-db=tuling
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test

slave 初始腳本

change master to master_host='mysql-master', master_user='root', master_password='123456' ;
start slave;

看完視頻的學習筆記就是這些了,需要這個視頻可以私信我【魯班】免費領取,還有更多精彩的學習視頻和整理的學習筆記!

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


節點說明:

binlog:

記錄master 節點的增刪改 語句

relaybinlog:

記錄從master 中複製過來的sql 語句

I/O Thread:

用於與master 節點通信,傳輸SQ語句信息

SQL Thread:

用於從relaybinlog 文件中讀取sql 並在slave中執行

相關命令:

#查看所有binlog

mysql> show binary logs;

#查看所有binlog 事件

mysql> show binlog events in 'mysql-bin.000003' from 145 \\G;

#使用binlog恢復誤刪數據

mysqlbinlog /data/mysql/mysql-master-bin.000002 --database=tuling --start-datetime='2018-01-05 01:00:00' --stop-datetime='2018-01-05 23:59:59' >/home/s1.sql

#查看 relaylog 事件

mysql >show relaylog events

mysql> show relaylog events in 'localhost-relay-bin.000019'

3、主從同步的其它作用

1. 實時災備

2. 用於故障切換

3. 讀寫分離負載均衡

4. 業務隔離

4、主從同步可能引發的問題及解決辦法

1. 數據一至性問題 :

2. 從庫更新延遲問題:

5、mySql 可選的主從架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

三、Docker 一鍵編排MySql集群實戰

集群方案介紹:

部署方案:

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

編排腳本:docker-compose.yml

version: "3.3"
services:
mysql-master:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- "3333:3306"
volumes:
- "/root/svr/mysql-cluster/master/my.cnf:/etc/mysql/conf.d/my.cnf"
mysql-slave1:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- "/root/svr/mysql-cluster/slave1/my.cnf:/etc/mysql/conf.d/my.cnf"
- "/root/svr/mysql-cluster/slave1/:/docker-entrypoint-initdb.d/"
depends_on:
- mysql-master
links:
- mysql-master
mysql-slave2:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- "/root/svr/mysql-cluster/slave2/my.cnf:/etc/mysql/conf.d/my.cnf"
- "/root/svr/mysql-cluster/slave2/:/docker-entrypoint-initdb.d/"
links:
- mysql-master
depends_on:
- mysql-master

master 配置文件

[mysqld]
binlog-do-db=tuling
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=personalsite
binlog-ignore-db=test
log-bin=mysql-master-bin
server-id=99

slave1 配置文件 my.cnf

[mysqld]
server-id =1
log-bin=mysql-bin
replicate-do-db=tuling
replicate-ignore-db=information
_schema
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test

slave2配置文件 my.cnf

[mysqld]
server-id =2
log-bin=mysql-bin
replicate-do-db=tuling
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test

slave 初始腳本

change master to master_host='mysql-master', master_user='root', master_password='123456' ;
start slave;

看完視頻的學習筆記就是這些了,需要這個視頻可以私信我【魯班】免費領取,還有更多精彩的學習視頻和整理的學習筆記!

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

領取的朋友們記得一定要幫作者來個轉發+評論!謝謝大家!

"

概要:

1. Docker compose 概念與基本命令

2. MySql主從架構原理

3. Docker 一鍵編排MySql集群實戰

講師介紹:

花名:魯班

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

曾就職於萬達、 雲猴Java高級架構師、近十年開發管理經驗,擅長互聯網項目實戰。負責整體架構、會員體系建設、大促技術保障。目前正在研究用以提升產品研發效率與質量的工具。崇向工匠精神,追求精益求精的做事理念

視頻內容:

1、20分鐘弄懂MySql主從架構原理

2、一起來學90%企業生產環境的讀寫分離架構

3、基於Docker 編排十分鐘搞定Mysql集群

4、進大廠必備學習路線圖指引

視頻可以私信我:“魯班”免費獲取

一、Docker compose 概念與基本命令

compose 使用

一個項目的完整環境包括 應用節點(app)、數據庫(mySql)、緩存(Redis)。為了管理方便,是否可以將這些節點全部構建在一個容器中運行?答案是可以的,但並不推薦這麼做,因為它違背了Docker中運行環境隔離的設計初衷。(每個節點都有其運行環境,如果合在一起,自然它們的環境也要搓合在一起)。

那麼怎麼簡化多節點項目環境的維護呢?Docker-compose 就可以解決該問題。通過DockerCompose.yml 描述項目中各節點容器信息,及依賴信息。然後通過docer-compose 一鍵構建或啟動。

docker-compose .yml 示例文件:

version: "3.3"
services:
nginx:
image: nginx
ports:
- "80:80"
links:
- app
volumes:
- "./nginx.conf.d/:/etc/nginx/conf.d/"
app:
image: luban/app

在上述文件中 編排了一個 Nginx 和app 節點,並通過Nginx 反向代理app服務。 現在是不是就可以一鍵運行了呢,別急還得先安裝docker-compose 程序,以下兩個步驟命令即可完成

安裝 compose

1. 下載

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

賦予執行權限

sudo chmod +x /usr/local/bin/docker-compose

檢測安裝情況

docker-compose -v

執行構建

#基於編排文件構建並啟動容器

docker-compose up

注:在執行命令時必須 在docker-compose.yml 當前目錄,否則會報找不到文件。此外文件名必須寫死docker-compose.yml,不能用其它文件名。

Nginx 示例配置文件 luban.conf:

server {
listen 80;
server_name www.luban.com;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://app:8080/;
}
}

二、MySql主從架構原理

1、 主從架構業務背景

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


讀寫分離實現方式

1. 基於程序實現

2. 基於mysql自帶主從同步機制

2、mySql主從架構的原理

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記


節點說明:

binlog:

記錄master 節點的增刪改 語句

relaybinlog:

記錄從master 中複製過來的sql 語句

I/O Thread:

用於與master 節點通信,傳輸SQ語句信息

SQL Thread:

用於從relaybinlog 文件中讀取sql 並在slave中執行

相關命令:

#查看所有binlog

mysql> show binary logs;

#查看所有binlog 事件

mysql> show binlog events in 'mysql-bin.000003' from 145 \\G;

#使用binlog恢復誤刪數據

mysqlbinlog /data/mysql/mysql-master-bin.000002 --database=tuling --start-datetime='2018-01-05 01:00:00' --stop-datetime='2018-01-05 23:59:59' >/home/s1.sql

#查看 relaylog 事件

mysql >show relaylog events

mysql> show relaylog events in 'localhost-relay-bin.000019'

3、主從同步的其它作用

1. 實時災備

2. 用於故障切換

3. 讀寫分離負載均衡

4. 業務隔離

4、主從同步可能引發的問題及解決辦法

1. 數據一至性問題 :

2. 從庫更新延遲問題:

5、mySql 可選的主從架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

三、Docker 一鍵編排MySql集群實戰

集群方案介紹:

部署方案:

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

架構方案

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

編排腳本:docker-compose.yml

version: "3.3"
services:
mysql-master:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- "3333:3306"
volumes:
- "/root/svr/mysql-cluster/master/my.cnf:/etc/mysql/conf.d/my.cnf"
mysql-slave1:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- "/root/svr/mysql-cluster/slave1/my.cnf:/etc/mysql/conf.d/my.cnf"
- "/root/svr/mysql-cluster/slave1/:/docker-entrypoint-initdb.d/"
depends_on:
- mysql-master
links:
- mysql-master
mysql-slave2:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- "/root/svr/mysql-cluster/slave2/my.cnf:/etc/mysql/conf.d/my.cnf"
- "/root/svr/mysql-cluster/slave2/:/docker-entrypoint-initdb.d/"
links:
- mysql-master
depends_on:
- mysql-master

master 配置文件

[mysqld]
binlog-do-db=tuling
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=personalsite
binlog-ignore-db=test
log-bin=mysql-master-bin
server-id=99

slave1 配置文件 my.cnf

[mysqld]
server-id =1
log-bin=mysql-bin
replicate-do-db=tuling
replicate-ignore-db=information
_schema
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test

slave2配置文件 my.cnf

[mysqld]
server-id =2
log-bin=mysql-bin
replicate-do-db=tuling
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=personalsite
replicate-ignore-db=test

slave 初始腳本

change master to master_host='mysql-master', master_user='root', master_password='123456' ;
start slave;

看完視頻的學習筆記就是這些了,需要這個視頻可以私信我【魯班】免費領取,還有更多精彩的學習視頻和整理的學習筆記!

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

領取的朋友們記得一定要幫作者來個轉發+評論!謝謝大家!

「基於Docker編排MySql集群瘋狂實戰」視頻學習筆記

2分錢超值小課,JVM系列課程,共四小時直播!報名戳下方【瞭解更多】

"

相關推薦

推薦中...