Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包
2012-06-17 12:42
1016 查看
最近在研究mysql集群,至少要安装部署2台或者多台mysql数据库,操作起来即麻烦又很耗时,今天根据安装步骤写了一个Shell脚本,只需执 行以下脚本就可以快速安装mysql数据库,对初学者或者想学习mysql集群的朋友非常方便,即省时,又省力。
操作系统及其mysql配置文件说明:
Linux系统:Centos5.8
mysql:mysql-5.5.25tar.gz源码包
安装目录:/usr/local/mysql/
数据目录:/data/mysql/3306/data/
二进制日志:/data/msyql/3306/binlog/
relay日志:/data/mysql/3306/relaylog/
配置文件:/data/mysql/3306/my.cnf
mysql.sock文件:/data/mysql/3306/mysql.sock
下面是我编写的一键安装mysql数据库的脚本,如有不对的地方请多多指教。
首先新建目录/data/software,在mysql官方网站下载mysql-5.5.25.tar.gz和cmake源码包。
接下来我们执行mysql安装脚本,这里要手动输入mysql版本号码5.5.25,然后脚本会自动安装,出去透透风,休息休息。
最后查看一下mysql数据库的安装是否OK,通过查看mysql数据库启动文件,端口,数据文件等等都是正常的。
总结:上面的脚本里面都做了简单的注释,下面着重说明一下在安装过程中容易出错的地方。
1)echo "PATH=$PATH:/usr/local/cmake/bin" >> /etc/profile && source /etc/profile 脚本里面的这行代是修改环境变量,否则在编译安装mysql数据库的时候出错提示说找不到cmake命令。
2)sed -i 's/^basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld和 sed -i 's/^datadir=/datadir=\/data\/mysql\/3306/' /etc/init.d/mysqld 脚本里面的这两行在mysql启动文件指定mysql数据库的安装目录和数据目录存放目录。
3)sed -i 's/`@HOSTNAME@`/DB148/' /etc/init.d/mysqld 脚本的这行是用mysql服务器的主机名替换掉`@HOSTNAME@`,否则在启动数据库的时候会提示下面错误,/etc/init.d/mysqld: line 263: @HOSTNAME@: command not found,但数据库能正常启动。
本文出自 “朴实的追梦者” 博客,请务必保留此出处http://sfzhang88.blog.51cto.com/4995876/900846
操作系统及其mysql配置文件说明:
Linux系统:Centos5.8
mysql:mysql-5.5.25tar.gz源码包
安装目录:/usr/local/mysql/
数据目录:/data/mysql/3306/data/
二进制日志:/data/msyql/3306/binlog/
relay日志:/data/mysql/3306/relaylog/
配置文件:/data/mysql/3306/my.cnf
mysql.sock文件:/data/mysql/3306/mysql.sock
下面是我编写的一键安装mysql数据库的脚本,如有不对的地方请多多指教。
[root@DB148 sh]# cat mysql_install_new_version.sh #!/bin/bash #创作日期:2012.6.16 #作者:张世锋 #Mysql install directory and configuration files. MYSQL_DIR="/data/software" DATA_DIR="/data/mysql/3306/data" BASE_DIR="/usr/local/mysql" echo "please input mysql version:" read VERSION echo "Your mysql version is mysql-$VERSION.tar.gz" if [ -e "$MYSQL_DIR/mysql-$VERSION.tar.gz" ] then echo "Please waitting..." sleep 3 #Install mysql package dependent. yum -y install gcc gcc-c++ gcc-g77 autoconf automake openssl zlib* fiex** libxml* \ ncurses-devel libmcrypt* libtool-ltdl-devel* && #Install cmake. echo "The system is be installed cmake,please waitting..." sleep 3 tar -zxvf $MYSQL_DIR/cmake-2.8.8.tar.gz -C $MYSQL_DIR && cd $MYSQL_DIR/cmake-2.8.8 && ./configure \ --prefix=/usr/local/cmake && make && make install && #creating mysql account and group. /usr/sbin/groupadd mysql && /usr/sbin/useradd -s /sbin/nologin -g mysql -M mysql && #Install mysql. tar -zxvf $MYSQL_DIR/mysql-$VERSION.tar.gz -C $MYSQL_DIR cd $MYSQL_DIR/mysql-$VERSION echo "PATH=$PATH:/usr/local/cmake/bin" >> /etc/profile && source /etc/profile cmake \ $MYSQL_DIR/mysql-$VERSION -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DYSQL_TCP_PORT=3306 \ -DMYSQL_DATADIR=$DATA_DIR \ -DMYSQL_UNIX_ADDR=/data/mysql/3306/mysql.sock \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_DEBUG=0 make && make install && mkdir -p $DATA_DIR mkdir -p `dirname $DATA_DIR`/binlog mkdir -p `dirname $DATA_DIR`/relaylog cp $MYSQL_DIR/mysql-$VERSION/support-files/my-small.cnf.sh `dirname $DATA_DIR`/my.cnf cp $MYSQL_DIR/mysql-$VERSION/support-files/mysql.server.sh /etc/init.d/mysqld chmod +x /etc/init.d/mysqld sed -i 's/^basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld sed -i 's/^datadir=/datadir=\/data\/mysql\/3306/' /etc/init.d/mysqld sed -i 's/`@HOSTNAME@`/DB148/' /etc/init.d/mysqld sh /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=$DATA_DIR && /etc/init.d/mysqld start else echo "Your input mysql version is not in $MYSQL_DIR" fi下面我们测试这个脚本是否能正常执行。
首先新建目录/data/software,在mysql官方网站下载mysql-5.5.25.tar.gz和cmake源码包。
接下来我们执行mysql安装脚本,这里要手动输入mysql版本号码5.5.25,然后脚本会自动安装,出去透透风,休息休息。
最后查看一下mysql数据库的安装是否OK,通过查看mysql数据库启动文件,端口,数据文件等等都是正常的。
总结:上面的脚本里面都做了简单的注释,下面着重说明一下在安装过程中容易出错的地方。
1)echo "PATH=$PATH:/usr/local/cmake/bin" >> /etc/profile && source /etc/profile 脚本里面的这行代是修改环境变量,否则在编译安装mysql数据库的时候出错提示说找不到cmake命令。
2)sed -i 's/^basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld和 sed -i 's/^datadir=/datadir=\/data\/mysql\/3306/' /etc/init.d/mysqld 脚本里面的这两行在mysql启动文件指定mysql数据库的安装目录和数据目录存放目录。
3)sed -i 's/`@HOSTNAME@`/DB148/' /etc/init.d/mysqld 脚本的这行是用mysql服务器的主机名替换掉`@HOSTNAME@`,否则在启动数据库的时候会提示下面错误,/etc/init.d/mysqld: line 263: @HOSTNAME@: command not found,但数据库能正常启动。
本文出自 “朴实的追梦者” 博客,请务必保留此出处http://sfzhang88.blog.51cto.com/4995876/900846
相关文章推荐
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
- Centos上面用Shell脚本一键安装LNMP环境, Nginx+MySQL+PHP+Xcache+Memcached
- Centos 上面用Shell脚本一键安装LAMP环境
- MySQL-5.5.25 centos 一键安装脚本 auto install
- Centos上面用Shell脚本一键安装LNMP环境
- Centos6.5上面用Shell脚本一键编译安装mysql5.5.47
- Centos 上面用Shell脚本一键安装LAMP环境
- Centos 6.4上面用Shell脚本一键安装vsftpd
- shell脚本(一键安装mysql)
- MySql一键安装shell脚本
- Centos一键安装openERP7.0的shell脚本
- centos 源码一键安装mysql5.5.15
- shell脚本:LAMP一键自动安装 (linux,apache,mysql,php)
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
- shell脚本一键安装mysql5.7.x
- Linux-shell脚本-mysql一键安装
- shell脚本一键安装LNMP(liunx+nginx+mysql+php)环境
- shell脚本一键安装MySQL5.5
- 一键安装MySQL 主从复制SHELL脚本
- shell 一键安装 mysql、nginx、lrzsz、jdk1.8、ss 多功能脚本