Centos6.5上面用Shell脚本一键编译安装mysql5.5.47

操作系统及其mysql配置文件说明:
Linux系统:Centos6.5

cat /etc/centos_release     查看centos版本信息

[[email protected] ~]# cat /etc/centos-release

CentOS release 6.5 (Final)

uname -r        #显示操作系统的发行版号

[[email protected] ~]# uname -r

2.6.32-431.el6.x86_64

uname -a      #显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号

Linux Linux-node2.com 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

mysql:mysql-5.5.47.tar.gz源码包

cmake:cmake-2.8.10.2.tar.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数据库的脚本,如有不对的地方请多多指教。


[[email protected]~]# cat mysql_install.sh

  #!/bin/bash

  #date:2016.1.02

#

#Mysql install directory and configuration files.

  MYSQL_DIR="/data/software"

DATA_DIR="/data/mysql/3306/data"

  BASE_DIR="/usr/local/mysql"

  mkdir -p $MYSQL_DIR     

  mkdir -p $DATA_DIR     

  mkdir -p $BASE_DIR  #创建mysql数据库的源码软件包存放路径、数据存放路径、安装路径目录

echo"please input mysql version:"

readVERSION

echo"Your mysql version is mysql-$VERSION.tar.gz"

if[ -e "$MYSQL_DIR/mysql-$VERSION.tar.gz"]

then

echo"Please waitting..."

sleep3

   #Install mysql package dependent.

yum -y installgcc gcc-c++ gcc-g77 autoconf automake openssl zlib* fiex** libxml* \

ncurses-devel libmcrypt* libtool-ltdl-devel* && 

   #Install cmake.

echo"The system will installe cmake,please waitting..."

   sleep3

tar-zxvf $MYSQL_DIR/cmake-2.8.10.2tar.gz -C $MYSQL_DIR && 

cd$MYSQL_DIR/cmake-2.8.10.2 && 

./configure\

--prefix=/usr/local/cmake&& 

make&& makeinstall&& 

#creating mysql account and group.

/usr/sbin/groupaddmysql && 

/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 

   export"PATH=$PATH:/usr/local/cmake/bin"/etc/profile&& source/etc/profile

   export"PATH=$PATH:/usr/local/mysql/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&& makeinstall&&

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/`@[email protected]`/Linux-node2.com/‘/etc/init.d/mysqld

sed -i ‘s/^datadir=\/var\/lib\/mysql/datadir=$DATA_DIR‘ /etc/my.cnf

   chown -R mysql.mysql /data/mysql/

sh /usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql--datadir=$DATA_DIR  &&

/etc/init.d/mysqldstart                                            #初始化数据库

else

echo"Your input mysql version  is not in $MYSQL_DIR"

fi

下面我们测试这个脚本是否能正常执行。

首先新建目录/data/software,在mysql官方网站下载mysql-5.5.47.tar.gz和cmake源码包。

接下来我们执行mysql安装脚本,这里要手动输入mysql版本号码5.5.47,然后脚本会自动安装.

最后查看一下mysql数据库的安装是否OK,通过查看mysql数据库启动文件,端口,数据文件等等都是正常的。

netstat -ntlp | grep 3306

总结:上面的脚本里面都做了简单的注释,下面着重说明一下在安装过程中容易出错的地方。

1)export "PATH=$PATH:/usr/local/cmake/bin" > /etc/profile && source /etc/profile

export "PATH=$PATH:/usr/local/mysql/bin" > /etc/profile && source /etc/profile

脚本里面的这行代是修改环境变量,否则在编译安装mysql数据库的时候出错提示说找不到cmake命令和mysql命令。
     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/`@[email protected]`/Linux-node2.com/‘ /etc/init.d/mysqld 脚本的这行是用mysql服务器的主机名替换掉`@[email protected]`,否则在启动数据库的时候会提示下面错误,/etc/init.d/mysqld: line 263: @[email protected]: command not found,但数据库能正常启动。

4)sed -i ‘s/^datadir=\/var\/lib\/mysql/datadir=$DATA_DIR‘ /etc/my.cnf 修改mysql的配置文件中[mysqld]下 datadir的目录

时间: 2024-12-28 08:22:15

Centos6.5上面用Shell脚本一键编译安装mysql5.5.47的相关文章

shell脚本一键在线安装redis数据库(使用函数实现)

shell脚本一键在线安装redis数据库(使用函数实现) 前面的文章给出了有关手工编译安装redis的流程,并且在模拟搭建redis集群时给出了在线安装redis的过程,于是就想着自己写好在线安装的redis脚本,本文主要使用shell函数来实现并且验证在线安装的过程,执行无误后就想着分享出来. PS:系统环境为Centos7.4 脚本如下: #!/bin/bash function checkroot(){ if [ $UID -ne 0 ] then echo "|------------

ansible配合shell脚本批量编译安装python3.6.6

[[email protected]:/etc]# tree /etc/ansible/ /etc/ansible/ ├── ansible.cfg ├── hosts ├── python.yml └── roles └── python_install ├── files │   └── Python-3.6.6.tgz ├── tasks │   ├── copy.yml │   ├── install.yml │   └── main.yml └── templates └── pyth

shell脚本自动编译安装Apache

shell脚本自动安装Apache,适用于CentOS #!/bin/bash ##################################################### #Create date 2018.4.10 #Author: wansheng #Function: shell script install apache2.4 #Email: [email protected]  #System: Linux CentOS-7 ######################

redhat 6.5 【源码编译安装 mysql-5.5.47】

操作系统:Redhat Enterprise Linux 6.5 一. 创建用户.目录和修改权限 [[email protected] ~]#mkdir -p /usr/local/mysql/data [[email protected] ~]#groupadd mysql [[email protected] ~]#useradd -g mysql mysql [[email protected] ~]#chown -R mysql.mysql /usr/local/mysql/data/

一键编译安装mysql-5.6.17

简单编译mysql5.6.17 配置文件my.cnf 请自行配置 cat mysql.sh mkdir -p /opt/appcd /opt/app #创建文件存放目录 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gztar -xf mysql-5.6.17.tar.gzyum install -y make gcc-c++ cmake bison-devel  ncurses-devel #下载软件包并解

httpd 一键编译安装脚本(centos6&7_httpd2.2&2.4)

httpd 一键编译安装脚本(centos6&7_httpd2.2&2.4) 说明 此安装脚本中涉及的服务启动脚本需要单独编写 httpd_install.sh #!/bin/bash # ***************************************************** # author : shchangming # date : 2018-06-06 # QQ : 414945814 # Description: this script is to insta

Centos 6.4上面用Shell脚本一键安装mysql 5.6.15

Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machine=x86_64 else machine=i686 fi mysqlBasedir=/storage/server/mysql mysqlDatadir=${mysqlBasedir}/data/ mysqlLogdir=/storage/log/mysql mysqlUser=mysql mysqlGr

Shell脚本一键部署MongoDB

Shell脚本一键部署MongoDB 基本实施思路: 安装MongoDB→创建多实例(创建数量可根据需求自定义)→开启所有实例并展示端口 #!/bin/bash #自动安装MongoDB # #检查MongoDB是否已安装 local="/etc/yum.repos.d/MongoDB.repo" rpm -q mongodb-org &> /dev/null if [ $? -ne 0 ];then #配置本地YUM源 ls /etc/yum.repos.d/ | gr

CentOS6.7下使用cmake编译安装MySQL5.5.32笔记

一.安装cmake编译环境1.1 使用yum方式安装gcc [[email protected] ~]# yum install gcc 1.2 使用yum方式安装gcc-c++ [[email protected] ~]# yum install gcc-c++ 1.3 解压camke源文件 将cmake源文件放入/tmp/文件夹下 1 [[email protected] ~]# cd /tmp 2 [[email protected] ~]# tar -xf cmake-2.8.8.tar