如何让你的数据库更加自动化

· MySQL的开机自启方法比较简单。就拿Linux下面的设置说说。

二进制包和源码包安装以后,你需要进行如下操作:

1. # cp $MYSQL_HOME/support-files/mysql.server  /etc/rc.d/mysql   (将MySQL做成一个开机自启动服务。)

2. # chkconfig  –level 345 –add mysql (将mysql服务设置为开机自启动。)

这样你就不用担心,有一天你的服务器突然重启后,你的MySQL数据库起不来了。

如果你是rpm包安装就更省心了,直接执行上面第二步就可以了。

· Oracle的自动又是如何实现的呢,在之前的一个篇文章中我曾经提到过,可以采用一个脚本加oratab这个配置文件来实现,具体操作如下。

1. 准备我们需要的启动脚本,我们知道oracle实例的启动与数据库的加载打开,都是要在oracle用户下完成的。

dbora脚本

#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.

ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
      » 继续阅读 如何让你的数据库更加自动化

如何在一台服务器上同时运行多个MySQL

在一些情况下,我们会在一台服务器上安装多个MySQL,同时对外提供应用服务。这样我们可以更加充分利用现有的资源,控制企业成本。比如,一台SUN  T5120机器,8核64个线程,这么充足的资源事实上MySQL并不能充分利用,我们都知道Oracle对多线程的利用要远远高于MySQL(这里我们多少也可以理解一点为什么oracle和sun结合了),尽管在5.4以后MySQL对线程的利用上有了很大改善,将线程的最优利用数从以前的4到8提升到了现在的16个。如果你就安装一个MySQL,那么多数资源就白白浪费了,同时也不能达到理想的状态,那么,我们完全可以在上面同时安装多个MySQL让它为不同的应用提供服务,同一台服务器上管理起来也相对比较方便些。下面我们就来看看如何实现,这里我只介绍两台的安装,再多也是一样的方法。

实验环境:一台普通PC,CentOS 5.2,mysql-5.1.32-linux-i686-glibc23.tar.gz

实验说明:MySQL采用二进制包安装。我们将在Linux系统下安装两个MySQL数据库,这里指的是MySQL这个数据库软件本身,而不是它里面的应用数据库,我们很多时候见到的都是一个MySQL下面创建了多个数据库,也就是show databases的时候你看到的,我们要注意这些差别。

具体操作:

安装MySQL

MySQL1

# groupadd mysql
# useradd -g mysql mysql
# tar -xzf /opt/software/mysql-5.1.32-linux-i686-glibc23.tar.gz -C /opt
# mv mysql-5.1.32-linux-i686-glibc23    mysql1
# cd /opt/mysql1
# ./scripts/mysql_install_db –user=mysql
# chown -R root.mysql .
# chown -R mysql.mysql data

MySQL2

# groupadd mysql
# useradd -g mysql mysql
# tar -xzf /opt/software/mysql-5.1.32-linux-i686-glibc23.tar.gz -C /opt
# mv mysql-5.1.32-linux-i686-glibc23    mysql2
# cd /opt/mysql2
# ./scripts/mysql_install_db –user=mysql
# chown -R root.mysql .
# chown -R mysql.mysql data

两个MySQL数据库已经安装完成,进入data目录下你会看到MySQL已经好默认安装好了3个数据库。接下来我们要做的是启动数据库前的一些准备工作,既然我要在同一台服务器上安装两个MySQL,那么如何区分它们是不同的个体呢,这就需要我们作进一步细化,不同的MYSQL_HOME,不同的PORT,不同的SOCKET,我们通过这些关键值来对它们进行区别。


      » 继续阅读 如何在一台服务器上同时运行多个MySQL