cgb2007-京淘day11
1.程式碼還原
1.1 IP地址問題
問題描述: windows的IP連結不通Linux中的IP地址.
問題說明: 當虛擬起啟動時,虛擬網路卡沒有正常的工作導致的. 只需要重啟網路卡即可.
重啟網路卡命令:
service NetworkManager stop
chkconfig NetworkManager off 永久關閉 Manager網路卡
service network restart 重啟network網路卡
1.2 還原hosts檔案
1.3 還原圖片路徑
1.4 還原nginx配置
讓域名訪問8091伺服器.
2 資料庫相關學習
2.1 資料庫備份策略
2.1.1 資料庫冷備份
說明:通過資料庫工具,定期將資料庫檔案進行轉儲,保證資料的安全性. (一般2-3天)
缺點:
1.備份時由於突發的情況,可能導致備份失敗.需要反覆備份.
2.由於冷備份是定期備份.所以可能導致資料的丟失.
核心:
資料必須備份.備份的資料是恢復的最後有效的手段.
2.1.2資料庫熱備份
說明:可以通過資料庫機制,自動的實現資料的備份操作.
優點: 可以實現自動化的操作,並且是實時備份.
備份實現原理:
1.當資料庫主機的資料發現變化時,會將修改的資料寫入二進位制日誌檔案中.
2.從庫通過IO執行緒,讀取主庫的二進位制日誌檔案,獲取之後,將資料儲存到中繼(臨時儲存)日誌中.
3.從庫中開啟Sql執行緒,之後讀取中繼日誌中的資料,之後將資料同步到從庫中.
2.2 準備多臺伺服器
2.2.1 修改虛擬機器名稱
說明:複製課前資料中的虛擬機器,並且改名為JT_LINUX_S.之後啟動即可.
2.2.2 修改Linux從機的mac地址
為了保證2臺虛擬機器正常穩定的執行,需要修改mac地址.
2.2.3 安裝資料庫從庫
具體參見 部落格文件.
https://blog.csdn.net/qq_16804847/article/details/108450506
2.3 資料庫主從搭建
2.3.1 開啟主庫二進位制檔案
說明:主庫的二進位制日誌檔案,預設條件下是關閉的,需要手動的開啟.
命令: vim /etc/my.cnf
編輯二進位制日誌檔案:
重啟資料庫,檢查二進位制日誌檔案,是否可用.
重啟之後,生成二進位制檔案
2.3.2 開啟從庫二進位制配置檔案
修改檔案: vim /etc/my.cnf
新增的操作和主庫一致,之後重啟資料庫伺服器,效果如下:
2.3.3 資料庫主從搭建
1).檢查主庫的狀態
2). 實現資料庫主從掛載
/*我是130 我是從庫*/
/*1.實現資料庫主從掛載 host/port/user/password/二進位制日誌/pos*/
CHANGE MASTER TO MASTER_HOST="192.168.126.129",
MASTER_PORT=3306,
MASTER_USER="root",
MASTER_PASSWORD="root",
MASTER_LOG_FILE="mysql-bin.000001",
MASTER_LOG_POS=245;
/*2.啟動資料庫主從服務*/
START SLAVE;
/*3.檢查資料庫啟動狀態*/
SHOW SLAVE STATUS;
/*4.如果出現資料庫問題 1.關閉主從服務, 2.檢查報錯狀態 3.重新搭建服務*/
STOP SLAVE
/*檢查報錯資訊 根據報錯修改記錄*/
/*重新搭建主從關係*/
3).主從狀態的校驗
2.3.4 資料庫主從測試
注意事項:
1.修改主庫的資料,從庫會跟著同步資料.
2.如果修改從庫資料,則主從的關係將會終止.
2.4 資料庫讀寫分離/負載均衡實現
2.4.1 資料庫優化策略
說明:通過代理資料庫可以實現資料庫的讀寫分離/資料庫負載均衡操作,進一步的提升了整體架構的能力.
2.4.2 Mycat
2.4.3 Mycat特性
支援SQL92標準
支援MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常見SQL語法
遵守Mysql原生協議,跨語言,跨平臺,跨資料庫的通用中介軟體代理。
基於心跳的自動故障切換,支援讀寫分離,支援MySQL主從,以及galera cluster叢集。
支援Galera for MySQL叢集,Percona Cluster或者MariaDB cluster
基於Nio實現,有效管理執行緒,解決高併發問題。
支援資料的多片自動路由與聚合,支援sum,count,max等常用的聚合函式,支援跨庫分頁。
支援單庫內部任意join,支援跨庫2表join,甚至基於caltlet的多表join。
支援通過全域性表,ER關係的分片策略,實現了高效的多表join查詢。
支援多租戶方案。
支援分散式事務(弱xa)。
支援XA分散式事務(1.6.5)。
支援全域性序列號,解決分散式下的主鍵生成問題。
分片規則豐富,外掛化開發,易於擴充套件。
強大的web,命令列監控。
支援前端作為MySQL通用代理,後端JDBC方式支援Oracle、DB2、SQL Server 、 mongodb 、巨杉。
支援密碼加密
支援服務降級
支援IP白名單
支援SQL黑名單、sql注入攻擊攔截
支援prepare預編譯指令(1.6)
支援非堆記憶體(Direct Memory)聚合計算(1.6)
支援PostgreSQL的native協議(1.6)
支援mysql和oracle儲存過程,out引數、多結果集返回(1.6)
支援zookeeper協調主從切換、zk序列、配置zk化(1.6)
支援庫內分表(1.6)
叢集基於ZooKeeper管理,線上升級,擴容,智慧優化,大資料處理(2.0開發版)。
2.5 部署步驟
2.5.1 上傳myCat伺服器
上傳路徑: /usr/local/src
2.5.2 解壓Mycat
tar -xvf Mycat-server-1.7.0-DEV-20170416134921-linux.tar.gz
移動安裝檔案:
2.5.3 server.xml配置檔案說明
注意事項: 預設條件下的埠號8066埠
<user name="root">
<property name="password">root</property>
<!--與schema.xml中的配置相同 注意資料庫的大小寫-->
<property name="schemas">jtdb</property>
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">jtdb</property>
<property name="readOnly">true</property>
</user>
2.5.3 schema.xml配置
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--name屬性是自定義的 dataNode表示資料庫的節點資訊 jtdb表示邏輯庫-->
<schema name="jtdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="jtdb"/>
<!--定義節點名稱/節點主機/資料名稱-->
<dataNode name="jtdb" dataHost="localhost1" database="jtdb" />
<!--引數介紹 UTF-8 中文報錯-->
<!--balance 0表示所有的讀操作都會發往writeHost主機 -->
<!--1表示所有的讀操作發往readHost和閒置的主節點中-->
<!--writeType=0 所有的寫操作都發往第一個writeHost主機-->
<!--writeType=1 所有的寫操作隨機發往writeHost中-->
<!--dbType 表示資料庫型別 mysql/oracle-->
<!--dbDriver="native" 固定引數 不變-->
<!--switchType=-1 表示不自動切換, 主機當機後不會自動切換從節點-->
<!--switchType=1 表示會自動切換(預設值)如果第一個主節點當機後,Mycat會進行3次心跳檢測,如果3次都沒有響應,則會自動切換到第二個主節點-->
<!--並且會更新/conf/dnindex.properties檔案的主節點資訊 localhost1=0 表示第一個節點.該檔案不要隨意修改否則會出現大問題-->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select 1</heartbeat>
<!--配置第一臺主機主要進行寫庫操作,在預設的條件下Mycat主要操作第一臺主機在第一臺主機中已經實現了讀寫分離.因為預設寫操作會發往137的資料庫.讀的操作預設發往141.如果從節點比較忙,則主節點分擔部分壓力.
-->
<writeHost host="hostM1" url="192.168.126.129:3306" user="root" password="root">
<!--讀資料庫1-->
<readHost host="hostS1" url="192.168.126.130:3306" user="root" password="root" />
<!--讀資料庫2-->
<readHost host="hostS2" url="192.168.126.129:3306" user="root" password="root" />
</writeHost>
<!--定義第二臺主機 由於資料庫內部已經實現了雙機熱備.-->
<!--Mycat實現高可用.當第一個主機137當機後.mycat會自動發出心跳檢測.檢測3次.-->
<!--如果主機137沒有給Mycat響應則判斷主機死亡.則回啟東第二臺主機繼續為使用者提供服務.-->
<!--如果137主機恢復之後則處於等待狀態.如果141當機則137再次持續為使用者提供服務.-->
<!--前提:實現雙機熱備.-->
<!--<writeHost host="hostM2" url="192.168.126.130:3306" user="root" password="root">
<readHost host="hostS1" url="192.168.126.130:3306" user="root" password="root" />
<readHost host="hostS2" url="192.168.126.129:3306" user="root" password="root" />
</writeHost>-->
</dataHost>
</mycat:schema>
2.5.4 實現配置檔案上傳
2.5.5 Mycat命令
Usage: ./mycat { console | start | stop | restart | status | dump }
2.5.6 檢查mycat日誌
2.5.7 Mycat負載均衡測試
修改從庫中的資料庫.重新整理列表頁面.檢查是否有負載均衡的效果.
注意事項: 如果測試完成,記得將資料修改 保證一致.
相關文章
- 2006-京淘Day08
- 京淘專案筆記04 -- 2020.11.02筆記
- cgb2008-京淘day19
- 2006-京淘Day19-1
- 2006-京淘Day20-1
- Javascript抓取京東、淘寶商品資料JavaScript
- 放大鏡:onmousemove版 京東、淘寶版
- 京淘專案總結day02
- day11
- day11 Xpath
- 仿淘寶,京東多級地址選擇器
- 京東按圖搜尋京東商品(拍立淘) API 返回值說明API
- Day11:request庫
- Day11 go unnoticedGo
- Python爬蟲爬取淘寶,京東商品資訊Python爬蟲
- python 識別拼多多,天貓,淘寶,京東域名Python
- 2021天貓,淘寶,京東雙十一什麼時候開始 天貓,淘寶,京東雙11活動時間表彙總
- 文字驗證碼被曝漏洞,淘寶、京東都中招!
- day11打卡
- 個推大資料:淘寶聚划算&京東京喜App市場資料洞察 (附下載)大資料APP
- 『網賽總結』Day11
- day11 棧與佇列佇列
- day11(python)裝飾器Python
- 【Python秒殺指令碼】淘寶或京東等秒殺搶購Python指令碼
- 『福利推薦』京東天貓拼多多淘寶優惠券返利
- 非典逼出了淘寶和京東,新冠病毒能夠逼出什麼?
- 2-44鍾靜雯_day11
- 個推大資料:爭奪“最後的流量市場”,淘寶聚划算&京東京喜加速圈地低線城市大資料
- Linux學習 day11之docker續集LinuxDocker
- 我做過淘寶、京東和微商,為何要再做一個小程式商城?
- Go語言處理—Day11—反射機制Go反射
- 淘寶京東拼多多自動查券找券返利機器人實現方法分享機器人
- 淘寶API,按圖搜尋淘寶商品(拍立淘)API
- 入門計算機的粗略學習-Day11計算機
- 傳智黑馬python基礎學習——day11Python
- 記錄--淘寶、京東複製好友連結彈出商品詳情是如何實現的
- 淘寶、京東、百度他們的網站首頁秒開是如何做到的呢?網站
- 仿京東、淘寶首頁,通過兩層巢狀的RecyclerView實現tab的吸頂效果巢狀View