centos5.8安装mysql_Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包
最近在研究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数据库的脚本,如有不对的地方请多多指教。[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,但数据库能正常启动。
centos5.8安装mysql_Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包相关推荐
- shell脚本一键安装nginx
使用shell脚本一键安装Nginx 操作环境Centos7,联网进行安装. 代码如下: #!/bin/bash #this is nginx.sh #date 2018.10.6 [ $(i ...
- shell脚本一键安装二进制Apache
转载来源 :shell脚本一键安装二进制Apache : http://www.178linux.com/23401 安装背景:用的一台最小化安装的centos6. 编译安装安装的必备安装gcc,gc ...
- mysql5.7.25源码安装_源码编译安装 mysql5.7.25
以前最烦就是源码编译安装mysql5.7 ,原因无它 - 很麻烦,但最近因学习需要避免不了,主要介绍在centos7 下源码编译安装mysql5.7 . 安装 安装依赖包 yum install -y ...
- Centos 上面用Shell脚本一键安装LAMP环境
1)系统环境介绍 Centos 5.8 64位 Apache:httpd-2.4.4.tar.gz PHP: php-5.4.17.tar.gz Mysq ...
- mysql5.1编译安装centos7_CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装
在CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装过程记录. 一.安装Nginx 1.安装依赖扩展 # yum -y install wget ...
- mysql 一键安装 linux_linux下mysql8 shell脚本一键安装
1:下载mysql8文件 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-el7-x86_64.tar.gz 2:新建一个my.cnf文 ...
- Shell脚本一键安装软件
一.JDK一键安装 基本步骤: 1.上传 JDK 压缩包到虚拟机的 opt 目录下 2.启动 Shell 脚本即可一键安装 3.脚本内容 #!/bin/bash cd /opt gz=`find -n ...
- shell脚本一键安装LNMP(liunx+nginx+mysql+php)环境
#!/bin/bash # author:kwin # Email:kwinwong@hotmail.comsrc="/usr/local/src/" cd $src#找到指定进程 ...
- shell脚本一键安装JDK及配置环境变量
为什么我要写这样安装JDK并配置环境变量的脚本呢?因为我和linux打交道还是比较多的,然而每次都要安装JDK,配置环境变量,这样的事情对于刚接触linux的人来说是很乐意做的,但是接触多了,总是做这 ...
最新文章
- ubuntu 14.04 64 bit上开启nscd服务缓存加速及清除dns缓存
- 去除网页上超链接的下划线
- 云计算机运行内存,电脑内存,云服务器内存最深刻的解读!
- android系统release签名
- 分析 H.265 + AAC 的 FLV 文件
- oracle erp 库存相关,oracle erp库存模块表(INV)
- 【数码】苹果iPhone4S行货水货如何识别
- linux tty core code,linux tty core 源码分析(7)
- .NET Conf 2017后初尝Xamarin Forms 3.0@Linux
- 使用Apache Felix文件安装配置OSGi服务
- mysql时区问题解决方案
- 参加2015年TOP100会议的零散笔记
- 抓包神器之Charles,常用功能都在这里了
- 关于DSP2812的Timer0定时器配置程序的质疑
- 3.5mm接头(耳机头)到RCA接头(莲花头)转接线制作
- 解决:U盘无法安装到这个磁盘选中的磁盘具有MBR分区表
- java 窗体添加背景图片_Java Swing实现窗体添加背景图片的2种方法详解
- nrf51822裸机教程-SPI(主)
- 跨考西电计算机科学与技术研究生经验贴,西安交通大学912计算机133分经验分享...
- 原创如何解决内存不能为“read”或“written”
热门文章
- C/C++学习之路: 模板和异常
- 你一定听过这些不太标准的技术圈发音...
- 腾讯数字生态大会倒计时4天:请收下这份最全的TEG参会攻略~
- 在ubuntu用arm ds-5社区版配合linaro交叉编译工具开发android linux应用
- 面试题:聊聊Unix与Java的IO模型?
- javaweb----三层架构+
- HotSpot源码(二):Java与C语言对比
- 【Python】利用graphviz和pycallgraph库自动生成Python函数调用关系图
- 【Java】Java中的异常处理:何时抛出异常,何时捕获异常?
- 【Java线程安全】一个简单的多线程程序