mysql5612源碼安裝及主從復(fù)制_第1頁
mysql5612源碼安裝及主從復(fù)制_第2頁
mysql5612源碼安裝及主從復(fù)制_第3頁
mysql5612源碼安裝及主從復(fù)制_第4頁
mysql5612源碼安裝及主從復(fù)制_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Mysql源碼安裝及主從復(fù)制讀寫分離一Mysql源碼安裝:一、環(huán)境準(zhǔn)備:我嘗試過以下環(huán)境都是能成功的:1、CentOS6.4 minimal鏡像最小化缺省安裝;2、RedHat6.4 DVD基本服務(wù)器安裝;3、RedHat5.4 DVD基本服務(wù)器安裝;4、其他Linux版本未驗(yàn)證。注意系統(tǒng)安裝好之后需要配置好網(wǎng)卡,關(guān)閉防火墻及SELINUX:1# 關(guān)閉Linux防火墻命令 2# chkconfig iptables off3# 修改SELINUX配置4# vim /etc/sysconfig/selinux5SELINUX=enforcing6修改為:7SELINUX=disabled修改完成

2、后,保存并退出,然后重啟系統(tǒng)。1、新增mysql用戶組1# groupadd mysql2、新增mysql用戶1# useradd -r -g mysql mysql3、新建數(shù)據(jù)庫執(zhí)行文件目錄(后面會把編譯好的mysql程序安裝到這個目錄)1# mkdir -p /usr/local/mysql4、新建數(shù)據(jù)庫數(shù)據(jù)文件目錄1# mkdir -p /home/mysql2# mkdir -p /home/mysql/data3# mkdir -p /home/mysql/logs4# mkdir -p /home/mysql/temp注意:上面的第3及第4是為了以后將MySQL的數(shù)據(jù)文件與執(zhí)行程序

3、文件分離,如果你打算設(shè)置到不同的路徑,注意修改對應(yīng)的執(zhí)行命令和數(shù)據(jù)庫初始化腳本!5、編輯PATH搜索路徑1# vi /etc/profile +2# 在profile文件末尾增加兩行3PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH4export PATH使PATH搜索路徑立即生效:1# source /etc/profile6、編輯hosts文件,增加一行,加入本機(jī)IP和主機(jī)名1# vi /etc/hosts +2 yimiju7、安裝編譯源碼所需的工具和庫(如果不能在線安裝,需要提前配置好本地源,本地源配置方

4、法度娘吧,以后有時間)1# yum -y install wget gcc-c+ ncurses-devel cmake make perl注意:RedHat5.4源中沒有cmake,可以手動編譯安裝cmake,或者升級到RedHat5.9之后再從源中yum安裝cmake。8、通過FTP或SFTP將mysql-5.6.12.tar.gz源碼包上傳到/usr/local/src路徑下。如果服務(wù)器能上網(wǎng),也可以通過wget下載mysql-5.6.12.tar.gz。下載地址如下:# cd /usr/local/src# wget四、開始編譯安裝mysql-5.6.121、進(jìn)入源碼壓縮包下載目錄#

5、cd /usr/local/src2、解壓縮源碼包# tar -zxvf mysql-5.6.12.tar.gz3、進(jìn)入解壓縮源碼目錄# cd mysql-5.6.124、使用cmake源碼安裝mysql(如果你打算安裝到不同的路徑,注意修改下面語句中/usr/local/mysql這個路徑?。ヽmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -

6、DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/mysql/data -DMYSQL_USER=mysqlDMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -Wno

7、-dev -no-warn-unused-cli上面的這些復(fù)制完,回車,然后就開始cmake的過程,一般時間不會很長。運(yùn)行完以后會出現(xiàn)如下警告Googlemock was not found進(jìn)入mysql-5.6.11source_downloads目錄將gmock-1.6.0.zip放在此目錄#unzip gmock-1.6.0.zip# cd gmock-1.6.0#./configure#make然后刪除mysql-5.6.11目錄下的CMakeCache.txt重新使用cmake進(jìn)行編譯安5、cmake結(jié)束后開始編譯源碼,這一步時間會較長,請耐心等待。1# make6、安裝編譯好的程序

8、1# make install注意:如果需要重裝mysql,在/usr/local/src/mysql-5.6.12在執(zhí)行下make install就可以了,不需要再cmake和make7、清除安裝臨時文件1# make clean8、修改目錄擁有者# chown -Rf mysql:mysql /usr/local/mysql# chown -Rf mysql:mysql /home/mysql9、進(jìn)入mysql執(zhí)行程序的安裝路徑# cd /usr/local/mysql10、執(zhí)行初始化配置腳本,創(chuàng)建系統(tǒng)自帶的數(shù)據(jù)庫和表(注意路徑/home/mysql/data需要換成你自定定義的數(shù)據(jù)庫存放

9、路徑)# scripts/mysql_install_db -user=mysql -datadir=/home/mysql/data#初始化腳本在/usr/local/mysql/下生成了配置文件f,需要更改該配置文件的所有者:# chown -Rf mysql:mysql /usr/local/mysql注意:(1)Tips:在啟動MySQL服務(wù)時,會按照一定次序搜索f,先在/etc目錄下找,找不到則會搜索mysql程序目錄下是否有f”;(2)需要注意CentOS 6.4版操作系統(tǒng)的最小安裝完成后,即使沒有安裝mysql,在/etc目錄下也會存在一個f文件,建議將此文件更名為其他的名字,否

10、則該文件 會干擾源碼安裝的MySQL的正確配置,造成無法啟動。修改/etc/f操作如下:# mv /etc/f /etc/f.bak# 當(dāng)然也可以刪除掉/etc/f這個文件:# rm /etc/f(3)如果你需要用于生產(chǎn)環(huán)境,不要急著做下面的mysql啟動操作。建議把上一步驟中mysql初始化生成的/usr/local/mysql /f刪除,然后把你優(yōu)化好的mysql配置文件f放到/etc下。(這是我做mysql主從復(fù)制和mysql優(yōu)化的經(jīng)驗(yàn)?。?1、復(fù)制服務(wù)啟動腳本# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mys

11、ql12、啟動MySQL服務(wù)# service mysql start13、設(shè)置開機(jī)自動啟動服務(wù)# chkconfig mysql on14、登錄并修改MySQL用戶root的密碼# mysql -u rootmysql use mysql;mysql GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY 123456;mysql update user set Password = password(123456) where User=root;mysql flush privileges;mysql exit;15、檢測下上一步MySQL用

12、戶root密碼是否生效:rootyimiju etc# mysql -u rootERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO)沒有密碼無法登錄,說明密碼修改成功了。rootyimiju # mysql -u root -pEnter password: 這里提示時輸入你設(shè)置的mysql root帳號密碼#登錄成功有如下提示:Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is

13、 422Server version: 5.6.12-log Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear

14、 the current input statement.Mysql二Mysql的主從個復(fù)制:一、前言:為什么MySQL要做主從復(fù)制(讀寫分離)?通俗來講,如果對數(shù)據(jù)庫的讀和寫都在同一個數(shù)據(jù)庫服務(wù)器中操作,業(yè)務(wù)系統(tǒng)性能會降低。為了提升業(yè)務(wù)系統(tǒng)性能,優(yōu)化用戶體驗(yàn),可以通過做主從復(fù)制(讀寫分離)來減輕主數(shù)據(jù)庫的負(fù)載。而且如果主數(shù)據(jù)庫宕機(jī),可快速將業(yè)務(wù)系統(tǒng)切換到從數(shù)據(jù)庫上,可避免數(shù)據(jù)丟失。二、MySQL主從復(fù)制(讀寫分離)和集群的區(qū)別:我對MySQL也是剛開始研究,不是很專業(yè)。我的理解是:1、主從復(fù)制(讀寫分離):一般需要兩臺及以上數(shù)據(jù)庫服務(wù)器即可(一臺用于寫入數(shù)據(jù),一臺用于同步主的數(shù)據(jù)并用于數(shù)據(jù)查

15、詢操作)。局限性:(1)配置好主從復(fù)制之后,同一張表,只能對一個服務(wù)器寫操作。如果在從上執(zhí)行了寫操作,而之后主也操作了這張表,或?qū)е轮鲝牟煌?;?jù)說可以配置成主主方式,但我還沒有研究到。(2)主數(shù)據(jù)庫服務(wù)器宕機(jī),需要手動將業(yè)務(wù)系統(tǒng)切換到從數(shù)據(jù)庫服務(wù)器。無法做到高可用性(除非再通過部署keepalive做成高可用方案)。2、集群是由N臺數(shù)據(jù)庫服務(wù)器組成,數(shù)據(jù)的寫入和查詢是隨機(jī)到任意一臺數(shù)據(jù)庫服務(wù)器的,其他數(shù)據(jù)庫服務(wù)器會自動同步數(shù)據(jù)庫的操作。任何一臺數(shù)據(jù)庫宕機(jī),不會對整個集群造成大的影響。局限性:我經(jīng)過測試才知道目前mysql集群版本(MySQL Cluster)只能對NDB存儲引擎的數(shù)據(jù)進(jìn)行集群

16、同步,如果是INNODB或其他的MySQL存儲引擎是不行的。這個也導(dǎo)致了我放棄了在業(yè)務(wù)系統(tǒng)中應(yīng)用這種方案。三、回歸正題,接下來開始MySQL5.6.12的主從復(fù)制教程:1、MySQL5.6開始主從復(fù)制有兩種方式:基于日志(binlog);基于GTID(全局事務(wù)標(biāo)示符)。需要注意的是:GTID方式不支持臨時表!所以如果你的業(yè)務(wù)系統(tǒng)要用到臨時表的話就不要考慮這種方式了,至少目前最新版本MySQL5.6.12的GTID復(fù)制還是不支持臨時表的。所以此篇教程主要是告訴大家如何通過日志(binlog)方式做主從復(fù)制!2、MySQL官方提供的MySQL Replication教程:這個官方教程強(qiáng)烈建議大家閱

17、讀(需要一定的英語閱讀能力哦!不行就google翻譯后再閱讀吧)。3、準(zhǔn)備工作:(1)配置MySQL主從復(fù)制(讀寫分離)之前,需要在主從兩臺服務(wù)器先安裝好MySQL5.6。(2)目前最新的MySQL5.6 GA版本是MySQL5.6.12(點(diǎn)此下載MySQL5.6.12源碼包)。個人推薦Linux(RedHat/CentOS 6.4)源碼編譯安裝,具體可以看本站這篇教程:RedHat/CentOS源碼編譯安裝MySQL5.6.12(3)注意:(a)如果你需要用于生產(chǎn)環(huán)境,安教程安裝MySQL時不要急著做mysql啟動操作。建議把mysql初始化生成的/usr/local/mysql/f刪除,然

18、后把你優(yōu)化好的mysql配置文件f放到/etc下。(b)建議主備兩臺服務(wù)器在同一局域網(wǎng),主備兩臺數(shù)據(jù)庫網(wǎng)絡(luò)需要互通。(4)我的環(huán)境:主數(shù)據(jù)庫IP:從數(shù)據(jù)庫IP:4、修改主數(shù)據(jù)庫的的配置文件:1mysqld2server-id=13log-bin=mysqlmaster-bin.log4sync_binlog=15#注意:下面這個參數(shù)需要修改為服務(wù)器內(nèi)存的70%左右6innodb_buffer_pool_size = 512M7innodb_flush_log_at_trx_commit=18sql_mode=STRICT_TRANS_TABL

19、ES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO9lower_case_table_names=110.log_bin_trust_function_creators=1修改之后要重啟mysql:1# /etc/init.d/mysql restart5、修改從數(shù)據(jù)庫的的配置文件(server-id配置為大于1的數(shù)字即可):1mysqld2server-id=23log-bin=mysqlslave-bin.log4sync_binlog=15#注意:下面這個參數(shù)需要修改為服務(wù)器內(nèi)存的70%左右6innodb

20、_buffer_pool_size = 512M7innodb_flush_log_at_trx_commit=18sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO9lower_case_table_names=110log_bin_trust_function_creators=1修改之后要重啟mysql:1# /etc/init.d/mysql restart附一個我已優(yōu)化過的從數(shù)據(jù)庫配置文件:點(diǎn)此下載6、登錄到主數(shù)據(jù)庫:(1)在主數(shù)據(jù)庫上創(chuàng)建用于主從復(fù)

21、制的賬戶(換成你的從數(shù)據(jù)庫IP):1# mysql -uroot -p2mysql GRANT REPLICATION SLAVE ON *.* TO repl IDENTIFIED BY repl;(2)主數(shù)據(jù)庫鎖表(禁止再插入數(shù)據(jù)以獲取主數(shù)據(jù)庫的的二進(jìn)制日志坐標(biāo)):1mysql FLUSH TABLES WITH READ LOCK;(3)然后克隆一個SSH會話窗口,在這個窗口打開MySQL命令行:1# mysql -uroot -p2mysql SHOW MASTER STATUS;3+-+-+-+-+-+4| File | Posit

22、ion | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |5+-+-+-+-+-+6| mysqlmaster-bin.000001 | 332 | | | |7+-+-+-+-+-+81 row in set (0.00 sec)9mysql exit;在這個例子中,二進(jìn)制日志文件是mysqlmaster-bin.000001,位置是332,記錄下這兩個值,稍后要用到。(4)在主數(shù)據(jù)庫上使用mysqldump命令創(chuàng)建一個數(shù)據(jù)快照:1#mysqldump -uroot -p -h -P3306 -all-databa

23、ses -triggers -routines -events all.sql2# 接下來會提示你輸入mysql數(shù)據(jù)庫的root密碼,輸入完成后,如果當(dāng)前數(shù)據(jù)庫不大,很快就能導(dǎo)出完成。(5)解鎖第(2)步主數(shù)據(jù)的鎖表操作:1mysql UNLOCK TABLES;7、SSH登錄到從數(shù)據(jù)庫:(1)通過FTP、SFTP或其他方式,將上一步備份的主數(shù)據(jù)庫快照all.sql上傳到從數(shù)據(jù)庫某個路徑,例如我放在了/home/yimiju/目錄下;(2)從導(dǎo)入主的快照:1# cd /home/yimiju2# mysql -uroot -p -h -P3306 CHANGE MASTER

24、TO MASTER_HOST=,MASTER_USER=repl,MASTER_PASSWORD=repl,MASTER_LOG_FILE=mysqlmaster-bin.000001,MASTER_LOG_POS=332;3# 然后啟動從數(shù)據(jù)庫的復(fù)制線程:4mysql START slave;5# 接著查詢數(shù)據(jù)庫的slave狀態(tài):6mysql SHOW slave STATUS G7# 如果下面兩個參數(shù)都是Yes,則說明主從配置成功!8Slave_IO_Running: Yes9Slave_SQL_Running: Yes三.Mysql的讀寫分離: mysql配置讀

25、寫分離在這里你再也不用擔(dān)心高手省略了大段代碼了,因?yàn)槲乙彩切率?。下面開整先安裝luaLua 是一個小巧的腳本語言。Lua由標(biāo)準(zhǔn)C編寫而成,代碼簡潔優(yōu)美,幾乎在所有操作系統(tǒng)和平臺上都可以編譯,運(yùn)行。一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的最佳選擇。先安裝可能的依賴包 rootbogon#yum-yinstallgcc*gcc-c+*autoconf*automake*zlib*libxml*ncurses-devel*libmcrypt*libtool*flex*pkgconfig*1. libevent*glib*r

26、eadline-devel2. 3. 4. rootbogon#mkdir/opt/install/5. 6. rootbogon#cd/opt/install/7. 8. rootbogoninstall#wget/ftp/lua-5.1.4.tar.gz9. 10. rootbogoninstall#tarzxvflua-5.2.3.tar.gz11. 12. rootbogoninstall#cdlua-5.2.313. 14. rootbogoninstall#makelinux此時如果出現(xiàn)lua.c:67:31: fatal error: readl

27、ine/readline.h: No such file or directory說明缺少libreadline-dev依賴包1. rootbogoninstall#makeinstall2. 3. rootbogoninstall#exportLUA_CFLAGS=-I/usr/local/includeLUA_LIBS=-L/usr/local/lib-llua-ldlLDFLAGS=-lm下面開始安裝mysql-proxy安裝之前先看一下自己機(jī)器是否是64位系統(tǒng)查看centos內(nèi)核的版本 rootbogoninstall#cat/etc/issue查看linux版本1. rootbogo

28、ninstall#cat/proc/version2. rootbogoninstall#lsb_release-a如果以上命令都沒有出現(xiàn)64字眼說明是32位系統(tǒng),這里主要是確定你將要下載的mysql-proxy版本應(yīng)該是哪個。下載地址:.tw/Downloads/MySQL-Proxy/1. rootbogoninstall#cd/opt/install2. 3. rootbogoninstall#wget.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.

29、4-linux-rhel5-x86-32bit.tar.gz4. 5. rootbogoninstall#tarzxvfmysql-proxy-0.8.4-linux-rhel5-x86-32bit.tar.gz6. 7. rootbogoninstall#mkdir/opt/mysql-proxy/8. 9. rootbogoninstall#cp/opt/install/mysql-proxy-0.8.4-linux-rhel5-x86-32bit/*/opt/mysql-proxy/10. 11. rootbogoninstall#cd/opt/mysql-proxy/12. 13. r

30、ootbogoninstall#exportPATH=$PATH:/opt/mysql-proxy/bin/編輯mysql-proxy配置文件1. rootbogoninstall#cpdoc/mysql-proxy/rw-splitting.lua./2. 3. rootbogoninstall#virw-splitting.lua找到:1. ifnotproxy.global.config.rwsplitthen2. proxy.global.config.rwsplit=3. min_idle_connections=4,4. max_idle_connections=8,5. 6. i

31、s_debug=false7. 8. end這里的4、8是指定鏈接數(shù),大家可以在做試驗(yàn)時調(diào)整為1。ok,保存,退出。1. rootbogoninstall#mysql-proxy-proxy-read-only-backend-addresses=32:3306-proxy-backend-addresses=31:3306-proxy-lua-script=/opt/mysql-proxy/share/rw-splitting.lua&這里的31與32是主從數(shù)據(jù)庫。參見以上命令后綴追加&表示為后端任

32、務(wù)。 rootbogoninstall#bg將正在執(zhí)行命令隱藏到后端 rootbogoninstall#jobs查看正在后端運(yùn)行的命令1. richardbogon$fg1將后端命令顯示到前臺打開4040端口防火墻端口,因?yàn)閙ysql-proxy監(jiān)聽端口是4040再也不是3306了。正好做以區(qū)分。plain view plain copyprint?1. rootbogoninstall#/sbin/iptables-IINPUT-ptcp-dport4040-jACCEPT2. 3. rootbogoninstall#/etc/rc.d/init.d/iptablessave4. 5. ro

33、otbogoninstall#serviceiptablessave查看監(jiān)聽情況:plain view plain copyprint?1. rootbogoninstall#netstat-tlp|grepmysql-proxy2. 3. tcp00*:yo-main*:*LISTEN13364/mysql-proxyyo-main很奇怪吧,對我也奇怪,不管它了,下面我們測試一下功能吧。剛剛我們提到的31與32兩臺服務(wù)器,131是主,132是從,131是讀寫,132是只讀。myql-proxy的IP是30創(chuàng)建用于讀寫分離

34、的數(shù)據(jù)庫連接用戶在131服務(wù)器上操作以下命令:plain view plain copyprint?1. rootbogon#mysql-uroot-p1234562. 3. mysqlgrantallon*.*toproxy130identifiedby123456;由于我們設(shè)置了131與132的主從復(fù)制,所以此時132也執(zhí)行了以上命令,我們可以確定一下。在132服務(wù)上操作以下命令:plain view plain copyprint?1. mysqlselectuser,password,hostfrommysql.user;2. 3. +-+-+-+4. |use

35、r|password|host|5. +-+-+-+6. |root|*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|localhost|7. |root|bogon|8. |root||9. |proxy1|*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|30|10. +-+-+-+11. 4rowsinset(0.00sec)沒錯結(jié)果存在。但是我們要做的試驗(yàn)是測試讀寫分離,所以要讓這兩臺服務(wù)器有誤差才行。所以暫停132的從服務(wù):plain view plain copyprin

36、t?1. mysqlslavestop;下面我們在131服務(wù)器上操作以下命令:1. mysqlinsertintofirst_tbvalues(007,first);2. mysqlinsertintofirst_tbvalues(110,second);最后再到132上確認(rèn)一下數(shù)據(jù)是否有誤差,下面試驗(yàn)開始。在131上打開4個終端,依次敲以下的命令: rootbogon#mysql-uproxy1-p123456-h30-P40401. 2. mysqlselect*fromfirst_db.first_tb;你會發(fā)現(xiàn)結(jié)果會有不一樣,那證明配置試驗(yàn)成功。也可以多此嘗試以

37、上兩行代碼直到得到結(jié)果。試驗(yàn)結(jié)束記得將slave start,方法參照追加內(nèi)容:設(shè)置mysql-proxy服務(wù)腳本。(其中一種腳本)1. #!/bin/sh2. 3. #4. #mysql-proxyThisscriptstartsandstopsthemysql-proxydaemon5. #6. #chkconfig:-78307. #processname:mysql-proxy8. #description:mysql-proxyisaproxydaemontomysql9. 10. #Sourcefunctionlibrary.11. ./etc/rc.d/init.d/functi

38、ons12. 13. #PROXY_PATH=/usr/local/bin14. PROXY_PATH=/opt/mysql-proxy/bin15. 16. prog=mysql-proxy17. 18. #Sourcenetworkingconfiguration.19. ./etc/sysconfig/network20. 21. #Checkthatnetworkingisup.22. $NETWORKING=no&exit023. 24. #Setdefaultmysql-proxyconfiguration.25. #PROXY_OPTIONS=-daemon26. 27. PRO

39、XY_OPTIONS=-proxy-read-only-backend-addresses=32:3306-proxy-backend-addresses=31:3306-proxy-lua-script=/opt/mysql-proxy/share/rw-splitting.lua28. 29. PROXY_PID=/opt/mysql-proxy/run/mysql-proxy.pid30. 31. #Sourcemysql-proxyconfiguration.32. if-f/etc/sysconfig/mysql-proxy;then3

40、3. ./etc/sysconfig/mysql-proxy34. fi35. 36. PATH=$PATH:/usr/bin:/usr/local/bin:$PROXY_PATH37. #Bydefaultitsallgood38. RETVAL=039. 40. #Seehowwewerecalled.41. case$1in42. start)43. #Startdaemon.44. echo-n$Starting$prog:45. $NICELEVEL$PROXY_PATH/mysql-proxy$PROXY_OPTIONS-daemon-pid-file=$PROXY_PID-use

41、r=root-log-level=debug-log-file=/opt/mysql-proxy/log/mysql-proxy.log46. RETVAL=$?47. echo48. if$RETVAL=0;then49. touch/var/lock/subsys/mysql-proxy50. echook51. fi52. ;53. stop)54. #Stopdaemons.55. echo-n$Stopping$prog:56. killproc$prog57. RETVAL=$?58. echo59. if$RETVAL=0;then60. rm-f/var/lock/subsys

42、/mysql-proxy61. rm-f$PROXY_PID62. fi63. ;64. restart)65. $0stop66. sleep367. $0start68. ;69. condrestart)70. -e/var/lock/subsys/mysql-proxy&$0restart71. ;72. status)73. statusmysql-proxy74. RETVAL=$?75. ;76. *)77. echoUsage:$0start|stop|restart|status|condrestart78. RETVAL=179. ;80. esac81. exit$RET

43、VAL備注可以用腳本進(jìn)行啟動: 方式:第一步:vim /etc/init.d/mysql-proxy-#!/bin/bash# mysql-proxy This script starts and stops the mysql-proxy daemon# chkconfig: - 78 30# processname: mysql-proxy# description: mysql-proxy is a proxy daemon for mysql# Source function library. /etc/rc.d/init.d/functionsprog=/usr/local/mysq

44、l-proxy/bin/mysql-proxy# Source networking configuration.if -f /etc/sysconfig/network ; then . /etc/sysconfig/networkfi# Check that networking is up. $NETWORKING = no & exit 0# Set default mysql-proxy configuration.ADMIN_USER=adminADMIN_PASSWD=adminADMIN_LUA_SCRIPT=/usr/local/mysql-proxy/share/doc/m

45、ysql-proxy/admin.luaPROXY_OPTIONS=-daemonPROXY_PID=/var/run/mysql-proxy.pidPROXY_USER=mysql-proxy# Source mysql-proxy configuration.if -f /etc/sysconfig/mysql-proxy ; then . /etc/sysconfig/mysql-proxyfiRETVAL=0start() echo -n $Starting $prog: daemon $prog $PROXY_OPTIONS -pid-file=$PROXY_PID -proxy-address=$PROXY_ADDRESS -user=$PROXY_USER -admin-username=$ADMIN_USER -admin-lua-script=$ADMIN_LUA_SCRIPT -admin-password=$ADMIN_PASSWORD RETVAL=$? echo if $RETVAL -eq 0 ; then touch /var/lock/subsys/mysql-proxy fistop() echo

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論