MySQL集群7_4_7在Centos7部署_第1頁
MySQL集群7_4_7在Centos7部署_第2頁
MySQL集群7_4_7在Centos7部署_第3頁
MySQL集群7_4_7在Centos7部署_第4頁
MySQL集群7_4_7在Centos7部署_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、MySQL集群7_4_7在Centos7部署一、 簡介1. 優(yōu)缺點優(yōu)點:1) 99.999%的高可用性2) 快速的自動失效切換3) 靈活的分布式體系結(jié)構(gòu),沒有單點故障4) 高吞吐量和低延遲5) 可擴展性強,支持在線擴容缺點:1) 存在很多限制,比如:不支持外鍵,事務(wù)隔離只支持Read Committed2) 部署、管理、配置很復(fù)雜3) 占用磁盤空間大,內(nèi)存大,網(wǎng)絡(luò)環(huán)境要求高4) 備份和恢復(fù)不方便,備份可統(tǒng)一做,恢復(fù)需要到各個數(shù)據(jù)節(jié)點操作5) 重啟的時候,數(shù)據(jù)節(jié)點將數(shù)據(jù)load到內(nèi)存需要很長時間2. 硬件要求1. 管理節(jié)點對硬件要求較低2. 數(shù)據(jù)節(jié)點大內(nèi)存,多核CPU3. SQL節(jié)點多核CPU二

2、、 環(huán)境及版本操作系統(tǒng):Centos 7MySQL Cluster RPM版本:7.4.7下載地址:三、 安裝和配置1. 卸載MySQL庫rpm -e postfix-2:2.10.1-6.el7.x86_64rpm -e mariadb-libs-5.5.41-2.el7_0.x86_642. 安裝perl-Data-Dumperrpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm3. 運行安裝1) 創(chuàng)建文件目錄存儲節(jié)點:mkdir /var/lib/mysql/data chmod -R 1777 /var/lib/mysql管理節(jié)點:

3、mkdir /var/lib/mysql-cluster     (SQL節(jié)點:可不用)chmod -R 1777 /var/lib/mysql-cluster2) 執(zhí)行安裝rpm -ivh MySQL-Cluster-server-gpl-7.4.7-1.el6.x86_64.rpmrpm -ivh MySQL-Cluster-client-gpl-7.4.7-1.el6.x86_64.rpm4. 配置文件1)/var/lib/mysql-cluster/config.ini (僅管理節(jié)點需要)2) /etc/f (管理節(jié)點不需要)四、 集群

4、基本操作1. 啟動集群若不想受防火墻影響,所有節(jié)點需要關(guān)閉service firewalld stop若想節(jié)省內(nèi)存,數(shù)據(jù)節(jié)點需關(guān)閉MySQL服務(wù),chkconfig mysql off啟動順序必須嚴格按照以下進行:1. 啟動管理器ndb_mgmd -f /var/lib/mysql-cluster/config.ini2. 啟動數(shù)據(jù)節(jié)點ndbd -initial(第一次啟動帶參數(shù),以后不用)3. 啟動SQL節(jié)點(必須等所有數(shù)據(jù)節(jié)點啟動后,才能啟動)mkdir /var/run/mysqldchmod -R 1777 /var/run/mysqldsu mysqlmysqld_safe -exp

5、licit_defaults_for_timestamp &tail -f /var/log/mysqld.log (查看日志情況,若有報錯,則要解決)*SQL節(jié)點初始化*參考MySQL的初始化配置即可(root用戶運行)1) 初始化實例mysql_install_db -user=mysql2) 設(shè)置root密碼mysqladmin -u root -password3) 授權(quán)GRANT ALL PRIVILEGES ON *.* TO mysql"%" IDENTIFIED BY "123456" WITH GRANT OPTION;FLUS

6、H PRIVILEGES;2. 基本操作1. 管理節(jié)點,查看各節(jié)點狀態(tài)ndb_mgm>show2. 創(chuàng)建表1) 連接SQL節(jié)點2) 創(chuàng)建數(shù)據(jù)庫create database <dbname>use <dbname>3) 創(chuàng)建表CREATE TABLE <table name>(field) ENGINE=NDBCLUSTER / NDB特別注意,只有使用了NDBCLUSTER引擎的表才會執(zhí)行同步操作3. 關(guān)閉集群1. 在管理器中執(zhí)行關(guān)閉ndb_mgm>shutdown2. 關(guān)閉SQL節(jié)點mysqld stop查找殘留進程 pgrep mysql

7、并 kill掉五、 在線添加節(jié)點1. 在config.ini 添加數(shù)據(jù)節(jié)點2. 停止管理節(jié)點ndb_mgm> <管理節(jié)點id> stop3. ndb_mgmd -f /var/lib/mysql-cluster/config.ini reload4. 在新節(jié)點上運行ndbd -initial5. 創(chuàng)建集群分組,分組內(nèi)節(jié)點數(shù)與config.ini參數(shù)NoOfReplicas相關(guān)ndb_mgm> CREATE NODEGROUP <id>,<id>6. 重新分配cluster的數(shù)據(jù)SELECT TABLE_SCHEMA, TABLE_NAME FRO

8、M INFORMATION_SCHEMA.TABLES WHERE ENGINE ='NDBCLUSTER'ALTER ONLINE TABLE <table_name> REORGANIZE PARTITION;7. 分區(qū)信息查看select partition_name,table_rows from information_schema.PARTITIONS where table_name='?' and table_schema='?'六、 建表MySQL Cluster的表分為內(nèi)存表和物理表:內(nèi)存表在啟動時,所有數(shù)據(jù)都加載

9、到內(nèi)存中,查詢速度非???,NDB引擎會設(shè)置檢查點,把內(nèi)存數(shù)據(jù)適時同步到磁盤中,防止斷電時數(shù)據(jù)丟失;磁盤表只把主鍵和索引加載到內(nèi)存中,數(shù)據(jù)主要存放在磁盤上,查詢速度稍慢。內(nèi)存表的容量,受主機內(nèi)存大小的限制,磁盤表的容量,受主機磁盤存儲空間限制。1. 創(chuàng)建內(nèi)存表CREATE TABLE <table name>(field) ENGINE=NDBCLUSTER / NDB數(shù)據(jù)引擎使用NDBCLUSTER / NDB2. 創(chuàng)建磁盤表步驟:1) 創(chuàng)建undo日志文件組CREATE LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_1.log' IN

10、ITIAL_SIZE 16M UNDO_BUFFER_SIZE 2M ENGINE NDBCLUSTER; 給日志組增加日志文件: ALTER LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_2.log' INITIAL_SIZE 12M ENGINE NDBCLUSTER;2) 創(chuàng)建表空間CREATE TABLESPACE ts_1 ADD DATAFILE 'data_1.dat' USE LOGFILE GROUP lg_1 INITIAL_SIZE 32M ENGINE NDBCLUSTER; 給表空間增加日志文件: ALTE

11、R TABLESPACE ts_1 ADD DATAFILE 'data_2.dat' INITIAL_SIZE 48M ENGINE NDBCLUSTER; -AUTOEXTEND_SIZE:自動擴展表空間容量,目前版本未支持3) 建表CREATE TABLE <table name>(field)TABLESPACE ts_1 STORAGE DISKENGINE=NDBCLUSTER / NDB4) 查看以上增加的日志文件和數(shù)據(jù)文件的信息保存在information_schema.FILES表里。查看表空間的使用情況SELECT TABLESPACE_NAME

12、, FILE_NAME, EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 AS TOTAL_MB, EXTENT_SIZE*FREE_EXTENTS/1024/1024 AS FREE_MB, EXTRA FROM information_schema.FILES WHERE FILE_TYPE="DATAFILE"5) 刪除順序為:表數(shù)據(jù)文件表空間日志文件組DROP TABLE dt_1;ALTER TABLESPACE ts_1 DROP DATAFILE 'data_1.dat' ENGINE NDBCLUSTER;DROP T

13、ABLESPACE ts_1 ENGINE NDBCLUSTER;DROP LOGFILE GROUP lg_1 ENGINE NDBCLUSTER;七、 備份與恢復(fù)1. 備份集群數(shù)據(jù)執(zhí)行備份后,在各數(shù)據(jù)節(jié)點下的mysql目錄下,產(chǎn)生一份備份,包括數(shù)據(jù),控制文件,日志三部分。ndb_mgm>start backup2. 恢復(fù)集群數(shù)據(jù)恢復(fù)時需要在各數(shù)據(jù)節(jié)點分別執(zhí)行命令:ndb_restore -c <mgmd> -n <node_id> -m -b <backup_id> -r <backup_path>如:ndb_restore -n 1 -m -b 1 -r /var/lib/mysql/BACK/BACK-1/-mgmd 為管理節(jié)點的ip,可省略-node_id為數(shù)據(jù)節(jié)點ID,在mgm的客戶端通過show查看- -m 在第一個數(shù)據(jù)節(jié)點上執(zhí)行,它的作用恢復(fù)數(shù)據(jù)元,數(shù)據(jù)元的作用:所有數(shù)據(jù)庫表的名稱和定義.在其他節(jié)點,上就不需要此參數(shù)了.-backup_id 就是備份的次數(shù).也就是你在此start backup上,提示的那個id,如果不知道,可以到保存此備份的目錄下看。若出現(xiàn)報錯:Failed to initialize consumers則需要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論