MYSQL服务维护及应用设计笔记

2016-01-29 15:10 12 1 收藏

MYSQL服务维护及应用设计笔记,MYSQL服务维护及应用设计笔记

【 tulaoshi.com - MySQL 】

以下是使用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 &

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

  注释:

  --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
注意:必须写全路径

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

   3 MYSQLD的停止脚本:stop_mysql.sh
  #!/bin/sh
  rundir=`dirname "$0"`
  echo "$rundir"
  /home/mysql/bin/mysqladmin -u mysql -S"$rundir"/mysql.sock shutdown

本新闻共2页,当前在第1页  1  2  

来源:http://www.tulaoshi.com/n/20160129/1495398.html

延伸阅读
MySQL服务器有几个影响其操作的参数(变量)。如果缺省的参数值不合适,可以将其修改为对服务器运行环境更合适的值。例如,如果您有大量的内存,可以告诉服务为磁盘和索引操作使用较大的缓冲区。这将使内存持有更多的信息并减少了必须进行的磁盘访问的数 量。如果是一般的系统,可以告诉服务器使用较小的缓冲区,以防止它扰乱系统资源...
理想的情况是,MySQL从首次安装以来始终平稳地运行。但有时确实会由于各种原因而出现问题,其范围可以从电源断电到硬件故障到不正常地关闭MySQL服务器(如用kill -9 终止服务器或机器崩溃)。诸如这样的情况大部分都超出您的控制范围,它们会导致数据库表的毁坏,尤其是在对表进行修改且未完全写入时所引起的。 本章的重点是检测和解...
标签: MySQL mysql数据库
记录一些select的技巧: 1、select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from article      where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时 2、批量...
MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化。这些权限表分别user,db,table_priv,columns_priv和host。下面分别介绍一下这些表的结构和内容: user权限表:记录允许连接到服务器的用户帐号信息,里面的权限是全局级的。 db权限表:记录各个帐号在各个数据库上...

经验教程

949

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部