本站内容搜索:
   您的位置:素材中国>>教程 >>数据库 >>MySQL >>MYSQL服务维护及应用设计笔记 提交错误报告
MYSQL服务维护及应用设计笔记
[ 来源:素材中国 | 作者:| 时间:2005-12-19 14:01:44 | 浏览:人次 ]

 
    以下是使用MYSQL服务的一些经验,主要从以下几个方面考虑的MYSQL服务规划设计。
  
  1 MYSQL服务的安装/配置的通用性;
  
  2 系统的升级和数据迁移方便性;
  
  3 备份和系统快速恢复;
  
  MYSQL服务器的规划
  
  为了以后维护,升级备份的方便和数据的安全性,最好将MYSQL程序文件和数据分别安装在“不同的硬件”上。
  
  /
  /usr <== 操作系统 }==> 硬盘1
  /home/mysql <== mysql应用程序
  ...
  /data/app_1/ <== 应用数据和脚本 }==> 硬盘2
  /data/app_2/
  /data/app_3/
  
  mysql服务的安装和服务的启动:
  
  MYSQL一般使用当前STABLE的版本,尽量不使用--with-charset=选项,我感觉with-charset只在按字母排序的时候才有用,这些选项会对数据的迁移带来很多麻烦。
  
  configure --prefix=/home/mysql
  make
  make install
  
  服务的启动和停止
  
  1 复制缺省的mysql/var/mysql到 /data/app_1/目录下
  
  2 MYSQLD的启动脚本:
  start_mysql.sh
  #!/bin/sh
  rundir=`dirname "$0"`
  echo "$rundir"
  /home/mysql/bin/safe_mysqld --user=mysql --pid-file="$rundir"/mysql.pid --datadir="$rundir"/var "$@"-O max_connections=500 -O wait_timeout=600 -O key_buffer=32M --port=3402 --socket="$rundir"/mysql.sock &
  
  注释:
  
  --pid-file="$rundir"/mysql.pid --socket="$rundir"/mysql.sock --datadir="$rundir"/var
  
  目的都是将相应数据和应用临时文件放在一起;
  
  -O 后面一般是服务器启动全局变量优化参数,有时候需要根据具体应用调整;
  
  --port: 不同的应用使用PORT参数分布到不同的服务上去,一个服务可以提供的连接数一般是MYSQL服务的主要瓶颈;
  
  修改不同的服务到不同的端口后,在rc.local文件中加入:
  
  /data/app_1/start_mysql.sh
  /data/app_2/start_mysql.sh
  /data/app_3/start_mysql.sh
  
  注意:必须写全路径
  
  3 MYSQLD的停止脚本:stop_mysql.sh
  #!/bin/sh
  rundir=`dirname "$0"`
  echo "$rundir"
  /home/mysql/bin/mysqladmin -u mysql -S"$rundir"/mysql.sock shutdown
  
  使用这个脚本的好处在于:
  
  1 多个服务启动:只需要修改脚本中的--port=参数。单个目录下的数据和服务脚本都是可以独立打包的。
  
  2 所有服务相应文件都位于/data/app_1/目录下:比如:mysql.pid mysql.sock,当一台服务器上启动多个服务时,多个服务不会互相影响。但都放到缺省的/tmp/下则有可能被其他应用误删。
  
  3 当硬盘1出问题以后,直接将硬盘2放到一台装好MYSQL的服务器上就可以立刻恢复服务(如果放到my.cnf里则还需要备份相应的配置文件)。
  
  服务启动后/data/app_1/下相应的文件和目录分布如下:
  /data/app_1/
  start_mysql.sh 服务启动脚本
  stop_mysql.sh 服务停止脚本
  mysql.pid 服务的进程ID
  mysql.sock 服务的SOCK
  var/ 数据区
  mysql/ 用户库
  app_1_db_1/ 应用库
  app_2_db_2/
  ...
  /data/app_2/
  ...
  
  查看所有的应用进程ID:
  cat /data/*/mysql.pid
  
  查看所有数据库的错误日志:
  cat /data/*/var/*.err
  
  个人建议:MYSQL的主要瓶颈在PORT的连接数上,因此,将表结构优化好以后,相应单个MYSQL服务的CPU占用仍然在10%以上,就要考虑将服务拆分到多个PORT上运行了。
  
  服务的备份
  
  尽量使用MYSQL DUMP而不是直接备份数据文件,以下是一个按weekday将数据轮循备份的脚本:备份的间隔和周期可以根据备份的需求确定
  
  /home/mysql/bin/mysqldump -S/data/app_1/mysql.sock -umysql db_name
 
 
       
   您的位置:素材中国>>教程 >>数据库 >>MySQL >>MYSQL服务维护及应用设计笔记
 点此在百度搜索关键字"MYSQL服务维护及应用设计笔记"  点此在GOOGLE搜索关键字"MYSQL服务维护及应用设计笔记"
热门文章:
  ·SQL优化34条   ·sql server分布式事务解决方案
  ·JTDS连接SQL Server中的方法示例   ·MySQL导入导出方法与工具
  ·Mysql数据库学习心得(1)   ·Windows Vista下安装SQL Server 2005
  ·SQL各种写法的效率问题   ·Mysql数据库学习心得(2)
  ·MySQL怎样优化WHERE子句   ·MySQL 4.1 的安装和升级

  首页  素材图片  高精图库  矢量图库  网页素材  网页模板  壁纸  明星  下载  教程  字体  香车美女  QQ专题  论坛

网站介绍 | 广告业务 | 设计业务 | 免责声明 | 版权声明 | 联系我们|提交错误报告
素材中国版权所有