Ubuntu下的免安装MySQL

全面转到Linux下工作了,以前windows下的一些服务,数据库都要一步步转过来了。apache,tomcat,jboss等轻松搞定,就是这个mysql竟然折腾了2,3天。主要是为了保证copy过来简单配置就可以使用,所以没有使用其默认安装路径(保持windows下的习惯,Server 统一放在 myServeres目录下)。结果配置文件,权限等折腾了半天。

好了,言归正传。首先描述下我的系统环境:Ubuntu8.04.1, 安装了build-essential 11.3 ,g++ 4.2.3

下载mysql  

网址: http://dev.mysql.com/downloads/mysql/5.1.html
我下载的是5.1版的 Linux (non RPM packages) 包, windows   Without installer (unzip in C:\) 包(这个包的用处下面说明).
2. 解压mysql到~/myServeres/ 下, 改目录名为 mysql51 (其实你放在哪里都行,只要你有权限)
解压 Windows  Without installer (unzip in C:\) 包,将里面的data目录 复制到  mysql51目录下.  (这点非常重要呀  
3. 设置mysql51 及其子目录,文件的 权限,保证你的启动mysql的用户拥有读写权限.
4. 编写启动脚本 mysql.sh, 注意依据情况修改MYSQL_HOME 的路径呀
引用:
#!/bin/bash
# Path to mySQL
MYSQL_HOME="/home/james/myServeres/mysql51"

# Check for required environment variables.
if [ -z "$MYSQL_HOME" ];
then
  echo Error: MYSQL_HOME environment variable is not set.
  exit 2
fi
# paser command params
case "$1" in
start)  
    #/var/run/mysqld/mysqld.sock
    if test -e $MYSQL_HOME/mysqld.sock
        #$MYSQL_HOME/bin/mysqladmin ping --socket=$MYSQL_HOME/mysqld.sock >nul 2>&1
    then   
        echo MySQL already Start!
    else
       exec $MYSQL_HOME/bin/mysqld --no-defaults --user=james --basedir=$MYSQL_HOME --character-sets-dir=$MYSQL_HOME/share/charsets --language=$MYSQL_HOME/share/english --character-set-server=gb2312 --socket=$MYSQL_HOME/mysqld.sock
    fi
    ;;
stop)
    if test -e $MYSQL_HOME/mysqld.sock
    #$MYSQL_HOME/bin/mysqladmin ping --socket=$MYSQL_HOME/mysqld.sock >nul 2>&1
    then   
           echo please input mysql user name:
        read name
        echo please input mysql password:
        read password
           exec $MYSQL_HOME/bin/mysqladmin shutdown --user=$name --password=$password --socket=$MYSQL_HOME/mysqld.sock
    fi
    ;;
*)
    echo "Usage: mysql.sh {start|stop}"
    ;;
esac
exit 0