为了方便安装,也为了规范应用,写了以下脚本,没有什么技术含量,就是为了实用。另外,做了简单注释。
###########################################
#!/bin/bash
#write by eben 2010 7 1
#this shell is a test doc.
############################################
#定义路径变量,方便以后移植使用
APP=/Data/app
SOF=/Data/software
SQL=mysql-5.1.42
#添加mysql的用户组和用户,该用户组及用户专为mysql应用而建
groupadd mysql
useradd mysql -g mysql #添加用户并同时添加到mysql组里
cd $SOF
tar -zxf $SQL-linux-x86_64.tar.gz #对压缩包解压
cd $SOF/$SQL
#编译,包括路径,安符集等。
make clean
./configure --with-extra-charsets=all --prefix=$APP/$SQL --localstatedir=$APP/$SQL/data --with-unix-socket-path=$APP/$SQL/mysql.sock --sysconfdir=$APP/$SQL/etc --with-charset=gbk --enable-thread-safe-client --libdir=$APP/$SQL/lib && make && make install
#创建MYSQL所需的三个目录
cd $APP/$SQL
mkdir data etc log #(创建三个目录到/Data/app/mysql-5.1.42/)
#创建my.cnf文件,
cd etc
#(添加如下内容):
echo [mysqld] >> my.cnf
echo datadir=/Data/app/mysql-5.1.42/data >> my.cnf
echo socket=/Data/app/mysql-5.1.42/mysql.sock >> my.cnf
echo skip-name-resolve >> my.cnf
echo max_connections=1000 >> my.cnf
echo long_query_time=2 >> my.cnf
echo log-bin=binlog >> my.cnf
echo [mysql.server] >> my.cnf
echo user=mysql >> my.cnf
echo basedir=/Data/app/mysql-5.1.42 >> my.cnf
echo [mysqld_safe] >> my.cnf
echo err-log=/Data/app/mysql-5.1.42/log/mysqld.log >> my.cnf
echo pid-file=/Data/app/mysql-5.1.42/mysqld.pid >> my.cnf
echo [client] >> my.cnf
echo socket=/Data/app/mysql-5.1.42/mysql.sock >> my.cnf
echo default-character-set = utf8 >> my.cnf
#给安装目录授权:
chown mysql:mysql $APP/$SQL
#初始化mysqld:
$APP/$SQL/bin/mysql_install_db --user=mysql
#启动mysql
$APP/$SQL/bin/mysqld_safe --user=mysql &
#测试安装是否成功,并给出相应的提示。我是通过查看mysql 的进程数来确定mysql是否正常启动。
x=(`ps -ef|grep mysql|wc -l`) #查看系统中的mysql进程数,并给变量x
if (( $x>1 )) #比较进程数是否大于一,如果大于一,则说明mysql已正常运行。这种方法有点笨,但也能解决问题。
OK="mysql is starting"
BAD="mysql is not successful,please make sure"
then echo "$OK"; #提示成功
else echo "$BAD"; #提示失败
fi #判断结束
Ctrl+Enter 发布
发布
取消