亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種MySQL的批量化安裝部署方法

文檔序號(hào):9452900閱讀:1127來源:國知局
一種MySQL的批量化安裝部署方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種MySQL的安裝部署方法,尤其涉及一種MySQL的批量化安裝部署 方法。
【背景技術(shù)】
[0002] MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫,支持事務(wù)、索引、多版本控制、異?;謴?fù)等重要特性, 加上其開源和輕量級(jí)的特點(diǎn),被互聯(lián)網(wǎng)企業(yè)、創(chuàng)業(yè)公司等接受和大量使用,是目前運(yùn)行實(shí)例 數(shù)量最多的關(guān)系型數(shù)據(jù)庫。Linux是數(shù)據(jù)中心最主流的操作系統(tǒng),大多數(shù)MySQL也運(yùn)行在 Linux,本發(fā)明探討基于Linux的MySQL部署方法。
[0003] 與主流的商業(yè)關(guān)系型數(shù)據(jù)庫相比,MySQL的安裝部署相對(duì)簡單,通過Linux發(fā)行版 的軟件包管理工具可以輕松完成。只是,這樣安裝的都是預(yù)先定義好的MySQL軟件包,無法 改用其他版本、或改變安裝目錄等。
[0004] 官方還提供MySQL二進(jìn)制發(fā)行版,官方將編譯好的二進(jìn)制文件及其他必要的文件 存放在一個(gè)目錄中,并壓縮成一個(gè)歸檔文件。下載這個(gè)壓縮歸檔文件,解壓后即得到一個(gè)目 錄,所有的安裝文件都在這個(gè)目錄下。
[0005] 使用MySQL的開源版本時(shí),下載源碼編譯安裝也是常用的方法。在編譯階段可以 設(shè)置根目錄、選擇支持哪些字符集等,最大限度地滿足安裝需求,只是對(duì)技術(shù)人員的要求比 較高。
[0006] 完成軟件安裝后,還需要設(shè)置環(huán)境變量、書寫參數(shù)文件、初始化數(shù)據(jù)文件等諸多后 續(xù)步驟,才算完成MySQL的部署,這些步驟,在很多情況下是由技術(shù)人員手工逐個(gè)完成的。
[0007] 在很多時(shí)候,MySQL的安裝部署只需考慮最方便的方式即可。但是,當(dāng)MySQL在數(shù) 據(jù)中心中大規(guī)模使用、或作為一種云服務(wù)提供給客戶時(shí),就必須審視安裝部署的整個(gè)過程。 比如,為了使MySQL運(yùn)行穩(wěn)定,一般需要使用幾個(gè)特定的版本;盡可能保持MySQL部署環(huán)境 的一致性,以簡化大規(guī)模運(yùn)維;因?yàn)椴渴鸬腗ySQL非常多,需要快速地完成部署,最大程度 地自動(dòng)化完成,提高服務(wù)響應(yīng)能力,并降低成本。

【發(fā)明內(nèi)容】

[0008] 本發(fā)明所要解決的技術(shù)問題是如何在數(shù)據(jù)中心大規(guī)模使用MySQL時(shí),高效率地完 成MySQL的安裝部署,以提高部署效率并降低成本。
[0009] 本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提供一種MySQL的批量化安裝 部署方法,包括如下步驟:a)獲取MySQL二進(jìn)制發(fā)行版,解壓得到MySQL主目錄及其下的文 件;b)在MySQL主目錄下創(chuàng)建參數(shù)文件、初始化數(shù)據(jù)文件并修改帳號(hào),生成適用于當(dāng)前環(huán)境 的MySQL安裝部署包;c)配置部署服務(wù)器,利用部署服務(wù)器將MySQL安裝部署包遠(yuǎn)程傳輸 到目標(biāo)服務(wù)器的指定目錄;d)所述目標(biāo)服務(wù)器根據(jù)接收到的MySQL安裝部署包進(jìn)行配置, 完成MySQL安裝部署。
[0010] 上述的MySQL的批量化安裝部署方法,其中,所述步驟b)創(chuàng)建的參數(shù)文件為 my.cnf,所述參數(shù)文件包含InnoDB緩存池參數(shù)以及server_id參數(shù);所述步驟b)通過執(zhí)行scripts/mysql_install_db-defaults-file=my.cnf完成數(shù)據(jù)目錄下數(shù)據(jù)文件的初始 化。
[0011] 上述的MySQL的批量化安裝部署方法,其中,所述步驟b)中修改帳號(hào)包括:保留三 個(gè)MySQL的初始用戶:root@127. 0? 0?l、root@: : 1和rootOlocalhost,并刪除掉其他的初始 用戶。
[0012] 上述的MySQL的批量化安裝部署方法,其中,所述步驟b)還包括創(chuàng)建InnoDB緩 存池參數(shù)修改腳本,使得目標(biāo)服務(wù)器根據(jù)當(dāng)前系統(tǒng)內(nèi)存大小設(shè)定InnoDB緩存池大小以及 InnoDB緩存池實(shí)例數(shù);所述InnoDB緩存池大小為當(dāng)前目標(biāo)服務(wù)器的MySQL主目錄下/ proc/meminfo中讀取到的系統(tǒng)內(nèi)存大小的70%~80% ;所述InnoDB緩存池實(shí)例數(shù)的值根 據(jù)InnoDB緩存池大小設(shè)定,1GB左右對(duì)應(yīng)一個(gè)實(shí)例,實(shí)例數(shù)最多為32個(gè)。
[0013] 上述的MySQL的批量化安裝部署方法,其中,所述步驟b)還包括創(chuàng)建server_id 參數(shù)修改腳本,使得目標(biāo)服務(wù)器獲取當(dāng)前系統(tǒng)的IPv4地址A.B.C.D,并將server_id設(shè)置為 A*256*256*256+B*256*256+0256+D。
[0014] 上述的MySQL的批量化安裝部署方法,其中,所述步驟c)中的部署服務(wù)器上存儲(chǔ) 有MySQL安裝部署包,所述部署服務(wù)器設(shè)置SSH免密碼登錄目標(biāo)服務(wù)器,使用SCP命令將所 述MySQL安裝部署包傳輸至目標(biāo)服務(wù)器。
[0015] 上述的MySQL的批量化安裝部署方法,其中,所述步驟c)中的部署服務(wù)器通過SSH 免密碼登錄方式在目標(biāo)服務(wù)器上遠(yuǎn)程調(diào)用InnoDB緩存池參數(shù)修改腳本和serverjd參數(shù) 修改腳本,完成MySQL部署。
[0016] 上述的MySQL的批量化安裝部署方法,其中,所述部署服務(wù)器與其他業(yè)務(wù)系統(tǒng)合 用一個(gè)Linux服務(wù)器,一個(gè)部署服務(wù)器對(duì)應(yīng)多個(gè)目標(biāo)服務(wù)器,并可進(jìn)行并行執(zhí)行部署。
[0017] 本發(fā)明對(duì)比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明提供的MySQL的批量化安裝部署 方法,通過在MySQL主目錄下創(chuàng)建參數(shù)文件、初始化數(shù)據(jù)文件并修改帳號(hào),生成適用于當(dāng)前 環(huán)境的MySQL安裝部署包,減少了實(shí)際部署時(shí)所需步驟和時(shí)間;并利用部署服務(wù)器實(shí)現(xiàn)遠(yuǎn) 程傳輸調(diào)用,從而能夠批量化完成MySQL的安裝部署,大大提高M(jìn)ySQL的部署效率,可行性 高,大大降低運(yùn)維復(fù)雜度。此外,本發(fā)明基于IPv4計(jì)算出唯一的server_id值,并通過遠(yuǎn)程 調(diào)用在每一目標(biāo)服務(wù)器實(shí)現(xiàn)InnoDB緩存池參數(shù)和serverjd參數(shù)的在線配置,進(jìn)一步提高 MySQL的部署效率和可行性。
【附圖說明】
[0018] 圖1為本發(fā)明MySQL的批量化安裝部署流程示意圖;
[0019] 圖2為本發(fā)明的InnoDB緩存池參數(shù)設(shè)置示意圖;
[0020] 圖3為本發(fā)明的唯一server_id參數(shù)設(shè)置示意圖;
[0021] 圖4為本發(fā)明采用的部署服務(wù)器與目標(biāo)服務(wù)器連接示意圖。
【具體實(shí)施方式】
[0022] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。
[0023] 圖1為本發(fā)明MySQL的批量化安裝部署流程示意圖。
[0024] 請(qǐng)參見圖1,本發(fā)明提供的MySQL的批量化安裝部署方法,包括如下步驟:
[0025] 步驟S1 :獲取MySQL二進(jìn)制發(fā)行版,解壓得到MySQL主目錄及其下的文件;本發(fā)明 的MySQL軟件包使用官方Linux通用二進(jìn)制發(fā)行版,其具有編譯質(zhì)量優(yōu)秀、獨(dú)立主目錄、拷 貝即可使用、適用絕大部分Linux發(fā)行版的優(yōu)點(diǎn)。
[0026] 步驟S2 :在MySQL主目錄下創(chuàng)建參數(shù)文件、初始化數(shù)據(jù)文件并修改帳號(hào),生成適用 于當(dāng)前環(huán)境的MySQL安裝部署包;
[0027] 步驟S3 :配置部署服務(wù)器,利用部署服務(wù)器將MySQL安裝部署包遠(yuǎn)程傳輸?shù)侥繕?biāo) 服務(wù)器的指定目錄;
[0028] 步驟S4:所述目標(biāo)服務(wù)器根據(jù)接收到的MySQL安裝部署包進(jìn)行配置,完成MySQL 安裝部署。
[0029] 現(xiàn)有使用官方Linux通用二進(jìn)制發(fā)行版部署MySQL的步驟依次是安裝軟件、創(chuàng)建 參數(shù)文件、初始化數(shù)據(jù)文件、修改帳號(hào)。為了提高M(jìn)ySQL的部署效率,本發(fā)明提出將創(chuàng)建參 數(shù)文件、初始化數(shù)據(jù)文件、修改帳號(hào)等步驟提前執(zhí)行完成,將相關(guān)文件集成到官方Linux通 用二進(jìn)制發(fā)行版中,生成適用于當(dāng)前環(huán)境的安裝部署包。如此,實(shí)際部署MySQL的執(zhí)行步驟 就可以減少。
[0030] 本發(fā)明的MySQL安裝部署包按如下步驟生成:
[0031] 1.為MySQL分配一個(gè)單獨(dú)塊設(shè)備,文件系統(tǒng)格式化后掛載到/uOl,MySQL主目錄 為 /uOl/mysql,MySQL參數(shù)文件為 /u01/mysql/my.cnf。
[0032] 2.操作系統(tǒng)中添加dba用戶組,并添加用戶組為dba的mysql用戶。
[0033] 3.設(shè)置四個(gè)環(huán)境變量:
[0034] export MY_BASEDIR_VERSION= /uOl/mysql,MYSQL_HOME= /uOl/mysql,
[0035] PATH = /u01/mysql/bin:$PATH, LD_LIBRARY_PATH = /u01/mysql/lib〇
[0036] 官方Linux通用二進(jìn)制發(fā)行版是一個(gè)壓縮包,解壓之后是一個(gè)目錄及其下的文 件,該目錄即MySQL主目錄。進(jìn)入該目錄,創(chuàng)建參數(shù)文件my.cnf,之后執(zhí)行scripts/mysql_ install_db-defaults-file=my.cnf初始化數(shù)據(jù)文件,這些數(shù)據(jù)文件存放在MySQL主 目錄下的data子目錄。接著,完成MySQL用戶修改等操作,MySQL的初始用戶保留三 個(gè):root@127. 0? 0? 1、root@: : 1和rootOlocalhost,其他的刪除掉,BP出于安全考慮禁用 無名帳號(hào)和遠(yuǎn)程超級(jí)權(quán)限帳號(hào);關(guān)閉MySQL,刪除auto,cnf文件,防止所有后續(xù)部署的 server-uuid都相同。二進(jìn)制日志、錯(cuò)誤日志文件、慢日志等也同樣刪除掉,僅保留必要的文 件。最后得到的即是MySQL安裝部署包,從目錄和文件上看,它多了my.cnf參數(shù)文件、data 下的數(shù)據(jù)文件?,F(xiàn)在,該MySQL主目錄包含了參數(shù)文件、數(shù)據(jù)文件,帳號(hào)也已經(jīng)修改為符合 安全要求,即是上述所稱的MySQL安裝部署包。
[0037] MySQL參數(shù)文件my. cnf的主要內(nèi)容如下:
[0038] [client]
[0039] socket = /u01/mysql/mysql.sock
[0040] [mysql d]
[0041 ] socket = /u01/mysql/mysql.sock
[0042] basedir = /u01/mysql
[0043] datadir = /u01/mysql/data
[0044] server_id = 1
[0045] innodb_bufTer_pool_size = 8G
[0046] innodb_buffer_pool_instances = 1
[0047] 實(shí)際部署MySQL時(shí),針對(duì)每一個(gè)不同的目標(biāo)服務(wù)器,還需要特殊設(shè)置個(gè)別MySQL參 數(shù)以進(jìn)一步適應(yīng)當(dāng)前Linux操作系統(tǒng),這里闡述一下這些MySQL參數(shù)的修改算法。
[0048] 首先,InnoDB緩存池大小對(duì)MySQL性能影響巨大,需要根據(jù)每一個(gè)目標(biāo)服務(wù)器上 Linux操作系統(tǒng)的內(nèi)存相應(yīng)修改,取其70 %~80%,盡可能地利用內(nèi)存。本發(fā)明從/proc/ meminfo中讀取系統(tǒng)內(nèi)存大小,取其75%大小作為InnoDB緩存池大?。╥nnodb_bu
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1