CentOS6.5一键安装MySQL5.5.32(源码编译)

##################################################
#mysql_install.sh                                                                                   #
#initialize the Linux system to deploy lnmp                                               #
#2016/10/31 16:41                                                                                #
#kangjie                                                                                                #
##################################################
#!/bin/sh

#定义文件的位置
LOG_PATH=/server/initlog
LOG_FILE=$LOG_PATH/mysql_install.log

#MySQL安装路径
MYSQL_BASEDIR=/data/mysqlbasedir

#数据目录
MYSQL_DATA=/data/mysql
MYSQL_POS=/home/package
i=0

判断目录是否存在,没有则创建
[ ! -d $LOG_PATH ] && mkdir -p $LOG_PATH
[ ! -d $MYSQL_BASEDIR ] && mkdir -p $MYSQL_BASEDIR
[ ! -d $MYSQL_DATA ] && mkdir -p ${MYSQL_DATA}/data
[ ! -d $MYSQL_POS ] && mkdir -p $MYSQL_POS
#mysql5.5.32
#check

#检查执行状态,将状态写入日志文件
function check(){
if [ $? != 0 ]
then
echo "××××-Install $1 Failed!!!-×××" >> $LOG_FILE
else
echo "√√√-Install $1 Success-√√√" >> $LOG_FILE
fi
}

#安装依赖包
function prepare(){
yum install cmake gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make -y
check libs

#useradd

#添加用户和组, mysql用户不能登录

groupadd mysql
useradd mysql -s /bin/nologin -M -g mysql
check groupadd-useradd

#mkdir

#mysql文件目录更改组用户为mysql
chown -R mysql.mysql /data/mysql
check chown-mysql

#解压文件
cd $MYSQL_POS && tar zxf mysql-5.5.32.tar.gz
check MySQL-tar-zxf
}

#compile

#编译源码--指定安装位置--编码方式--支持的引擎--数据目录--用户--端口
function compile(){
cmake -DCMAKE_INSTALL_PREFIX=$MYSQL_BASEDIR -DMYSQL_UNIX_ADDR=$MYSQL_DATA/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=$MYSQL_DATA/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
}
#my.cnf

#将配置信息写入配置文件
function mycnf(){
cat >>/etc/my.cnf<<EOF
[client]

port = 3306

socket = $MYSQL_DATA/mysql.sock

[mysqld]

port = 3306

socket = $MYSQL_DATA/mysql.sock

basedir = $MYSQL_BASEDIR

datadir = $MYSQL_DATA/data

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

skip-name-resolve

log-bin=mysql-bin

binlog_format=mixed

max_binlog_size = 500M

server-id = 1

[mysqld_safe]

log-error=$MYSQL_DATA/mysql.err

pid-file=$MYSQL_DATA/mysql.pid

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

EOF
}
#init

#初始化数据库 , 添加开机启动
function init(){
$MYSQL_BASEDIR/scripts/mysql_install_db --basedir=$MYSQL_BASEDIR --datadir=$MYSQL_DATA/data --user=mysql
cp $MYSQL_BASEDIR/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

}
#mail

#发送邮件(邮件配置参考上一篇文章)
function Mail(){
mail -s "***Linux Deploy Report***" [email protected] < $LOG_FILE
}

#main

#调用上边的函数

#首先是安装依赖包,然后编译源码:cmake , make, make install, 修改MySQL配置文件,设置环境变量,初始化MySQL,启动,发邮件

function main(){
ip=`awk ‘/IPADDR/‘ /etc/sysconfig/network-scripts/ifcfg-eth0 |awk -F "=" ‘{print $2}‘ `
echo "Deploy MySQL ****$ip****`date +"%Y-%m-%d_%H-%M-%S"`*****">>$LOG_FILE
prepare
cd $MYSQL_POS/mysql-5.5.32 && compile && make && make install
check make_install
ln -sv $MYSQL_BASEDIR /usr/local/mysql
mycnf
check mycnf
echo "export PATH=$MYSQL_BASEDIR/bin:$PATH" >> /etc/profile.d/mysql.sh
source /etc/profile
init
/etc/init.d/mysqld start
check mysql_start
mysql -uroot -e "select version();"
if [ $? == 0 ]
then
mysql -uroot -e "show databases;" >> $LOG_FILE
mysqladmin -uroot password ‘888888‘
check mysql_change_password

else
echo "MySQL Install Failed" >> $LOG_FILE
fi
Mail
}

main

时间: 2024-08-10 11:17:21

CentOS6.5一键安装MySQL5.5.32(源码编译)的相关文章

mysql5.7.10 源码编译安装记录 (centos6.4)【转】

一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系统自带mysql yum -y remove mysql-* //卸载mysql rpm -e --nodeps mysql-5.1.73-3.el6_5.x86_64 //卸载mysql 1.2 卸载系统自带boost,并安装boost_1_59_0 mysql 5.7 依赖于boost_1_59

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储

Mysql系列二:Centos7.4安装mysql5.7.28源码

本文为博客Mysql系列二:Centos7.4安装mysql5.7.28源码 mysql安装方法有多种,以Centos7为例,可以官网下载编译好的二进制代码进行安装,可以官网下载rpm包进行yum install rpm包进行安装,本文我们介绍官网下载源码自行编译安装. 根据Mysql系列一下载的源码,我们开始安装mysql源码,安装方法希望大家多从官网的document上阅读,吸取精髓,安装方法和顺序并不唯一,如下内容可供参考. 基础环境: yum install -y ntp wget cu

mysql5.7.11 源码编译安装 (Red hat linux 6.5 )

mysql5.7.11 源码编译安装 (Red hat linux 6.5 ) 一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带mysql, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql    //查看系统自带mysql yum -y remove mysql-*   //卸载mysql rpm -e –nodeps mysql-5.1.73-3.el6_5.x86_64 //卸载mysql 1.2 卸载系统自带b

多实例Mysql5.5.x源码编译安装

多实例Mysql5.5.x源码编译安装 1.  建立Mysql账号 [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -s /sbin/nologin -g mysql -M mysql useradd参数说明: -s/sbin/nologin 表示禁止该用户登录 -gmysql 指定属于mysql组 -M表示不创建用户家目录 检查创建的用户: [[email protected] ~]# tail -1 /

ubuntu12.04 安装android sdk /ndk/源码 编译环境

做android已经近5年了,期间android的各种环境都自己配过,自己是个想法比较多的人,各自神奇到想法都有,包括写博客,但是一直是没有具体落实...想法再多,不去努力实现也只能是想法了,今天准备从写博客这个小事开始做起,磨练自己到,不废话了,直接进入主题: 一.JDK(下载并安装jdk),注意事项如下: a.32位需要下32的,64位的也注意是下载64位的: b.配置环境变量: $ sudo gedit /etc/profile           在文件的末尾加上如下内容:       

mysql-5.7.23源码编译安装

mysql-5.7.23源码编译安装 1.下载源码 # wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23.tar.gz # tar xf mysql-5.7.23.tar.gz 2.隐藏版本信息 隐藏版本信息是XX电信运营商提出的变态要求,经测试版本信息不能直接删除,否则编译出错,暂时修改为100.100.100 # cd mysql-5.7.23 # vim VERSION MYSQL_VERSION_MAJOR=100

mysql5.5.32 源码方式安装

参照网上文档,源码安装了一下mysq5.5.32,以下为文档(复制,粘贴别人的,自己搭的时候没有保存操作记录) 前提:已下载mysql5.5.32.tar.gz 和 cmake-2.8.8.tar.gz(此处的放置目录为/application/tools).我所用的os为centos6.7.已yum install gcc libxml等. 另,着重需要注意的几个点:添加mysql用户/修改mysql目录权限/初始化mysql_install_db/删除test库/mysql用户表的清理/启动

CentOs下MySQL5.6.32源码安装

1. 安装好--安装MySQL需要的包 yum install -y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison ncurses5-devel ncurses-devel autoconf 2. [[email protected] ~]# cd /usr/local/src //下载MySQL源码包 [[email protected] src