熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

MYSQL服務維護及應用設計筆記[1]

2013-11-23 21:06:52  來源: MySQL 
    以下是使用MYSQL服務的一些經驗主要從以下幾個方面考慮的MYSQL服務規劃設計

     MYSQL服務的安裝/配置的通用性
     系統的升級和數據遷移方便性
     備份和系統快速恢復

    MYSQL服務器的規劃

    為了以後維護升級備份的方便和數據的安全性最好將MYSQL程序文件和數據分別安裝在不同的硬件
    /
    /usr <== 操作系統 }==> 硬盤
    /home/mysql <== mysql應用程序
    
    /data/app_/ <== 應用數據和腳本 }==> 硬盤
    /data/app_/
    /data/app_/

    mysql服務的安裝和服務的啟動
    MYSQL一般使用當前STABLE的版本盡量不使用withcharset=選項我感覺withcharset只在按字母排序的時候才有用這些選項會對數據的遷移帶來很多麻煩

    configure prefix=/home/mysql
    make
    make install

    服務的啟動和停止

     復制缺省的mysql/var/mysql到 /data/app_/目錄下
     MYSQLD的啟動腳本
  start_mysqlsh
  #!/bin/sh
  rundir=`dirname $`
  echo $rundir
  /home/mysql/bin/safe_mysqld user=mysql pidfile=$rundir/mysqlpid datadir=$rundir/var $@\
  O max_connections= O wait_timeout= O key_buffer=M port= socket=$rundir/mysqlsock &

    注釋
    pidfile=$rundir/mysqlpid socket=$rundir/mysqlsock datadir=$rundir/var
    目的都是將相應數據和應用臨時文件放在一起
    O 後面一般是服務器啟動全局變量優化參數有時候需要根據具體應用調整
    port: 不同的應用使用PORT參數分布到不同的服務上去一個服務可以提供的連接數一般是MYSQL服務的主要瓶頸

    修改不同的服務到不同的端口後在rclocal文件中加入
    /data/app_/start_mysqlsh
    /data/app_/start_mysqlsh
    /data/app_/start_mysqlsh
    注意必須寫全路徑

     MYSQLD的停止腳本stop_mysqlsh
    #!/bin/sh
    rundir=`dirname $`
    echo $rundir
    /home/mysql/bin/mysqladmin u mysql S$rundir/mysqlsock shutdown

    使用這個腳本的好處在於
     多個服務啟動只需要修改腳本中的port=參數單個目錄下的數據和服務腳本都是可以獨立打包的
     所有服務相應文件都位於/data/app_/目錄下比如mysqlpid mysqlsock當一台服務器上啟動多個服務時多個服務不會互相影響但都放到缺省的/tmp/下則有可能被其他應用誤刪
     當硬盤出問題以後直接將硬盤放到一台裝好MYSQL的服務器上就可以立刻恢復服務(如果放到mycnf裡則還需要備份相應的配置文件)

    服務啟動後/data/app_/下相應的文件和目錄分布如下
    /data/app_/
    start_mysqlsh 服務啟動腳本
    stop_mysqlsh 服務停止腳本
    mysqlpid 服務的進程ID
    mysqlsock 服務的SOCK

[]  []  


From:http://tw.wingwit.com/Article/program/MySQL/201311/29607.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.