发布:thatboy   来源:脚本学堂     【  
分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友参考下。本文转自:http://www.jbxue.com/article/13875.html
本节内容:

一个可以自动安装mysql的shell脚本

本文分享一例在linux操作系统中,自动安装mysql数据库的shell脚本代码。

有点小缺点,如下:
还没写完,是写给集群安装的,配置也没有完成。其它机器打算用expect来执行sh,也没有写。
不过,这不是重点,大家可以很容易就能完善。

代码:

复制代码代码示例:

#!/bin/bash
#mysql安装(集群)
main_path=/root/mysql/
install_name=mysql-max-5.0.24-linux-i686.tar.gz
install_path=/usr/local/mysql/
env_fun() #环境
{
echo "-------检测本机环境,请稍等-------"
username=`cat /etc/passwd|grep mysql|cut -c 1-5`
        if [ $username = "mysql" ];then
                echo "用户检测:mysql已存在"
                return 10
        else
                echo "用户检测:mysql用户不存在,添加"
                groupadd mysql
                useradd mysql -g mysql
                return 12
        fi
}
#判断mysql是否安装(rpm、source)
check_fun()
{ # www.jbxue.com
rpm_name=`rpm -aq |grep mysql-server`
        if [ ! $rpm_name ];then
                echo "开始检测源码包是否安装,请稍等......"
                        if [ -d $install_path ];then
                                echo "源码:$install_path目录已存在,退出本次安装."
                                exit 0
                        else
                                echo "本机未安装任何mysql程序,将为您开始安装$install_name.请稍等......"
                                install_fun
                        fi

else
                echo -n "rpm mysql已安装,是否删除?[yes|no]"
                read select
                        if [ $select = yes ];then
                                rpm -ev $rpm_name --nodeps
                                rm -rf /var/log/mysqld.log
                                check_fun
                        else
                                exit 0
                        fi
        fi
}
install_fun() #安装函数
{
cd $main_path
echo "正在解压,请稍等......"
tar zxvf $install_name
echo "建立相应目录"
echo "mkdir -p /usr/local/mysql/"
mkdir -p /usr/local/mysql/
echo "mkdir -p /usr/local/mysql/data/"
mkdir -p /usr/local/mysql/data/
cd mysql-max-5.0.24-linux-i686/bin/
echo "cp ndb_mgm* /usr/local/mysql/"
cp ndb_mgm* /usr/local/mysql/
echo "chown -R mysql:mysql /usr/local/mysql/"
chown -R mysql:mysql /usr/local/mysql/
#配置
}
main()
{
echo "#***********************************#"
echo "# 欢迎使用mysql集群安装脚本 #"
echo "# Copyright 2013 by wanggy #"
echo "#***********************************#"
sleep 3
#开始执行,调用检测函数
env_fun
re=$?
if [ re = 10 ];then
        check_fun
else
        check_fun
fi
}
main
exit 0

可以自动安装mysql数据库的一个shell脚本的更多相关文章

  1. linux中备份mysql数据库的一个shell脚本

    #!/bin/bash #FileName:select_into_bak.sh #Desc:Use select into outfile to backup db or tables #Creat ...

  2. .net安装包自动安装Mysql数据库

    原文:.net安装包自动安装Mysql数据库 在制作.Net安装包的时候,如果项目有用到数据库,怎么能够把数据库打包安装呢?网上已经有很多自动安装Sql Server数据库的例子,但是自动安装mysq ...

  3. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  4. 一个备份MySQL数据库的简单Shell脚本(转)

    Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...

  5. [转]一个备份MySQL数据库的简单Shell脚本

    本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...

  6. 一个自动备份mysql数据库的bat文件内容

    自动备份mysql数据库,并已当前的日期时间为目录 copy过去, xcopy将近15年没有用dos命令,还是这么亲切 另 本方法是备份数据库文件,不是dump导出,然后再计划任务中使用,我用的是wa ...

  7. Linux下安装MySQL数据库以及用C语言编程存取数据库

    ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录.不过这也不是什么太大的缺点.下面我们就用 apt-g ...

  8. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  9. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

随机推荐

  1. Android 多点手势识别详解

    google 提供的API中,有个类,大家都很熟悉,GestureDetector.使用它,我们可以识别用户通常会用的手势.但是,这个类不支持多点触摸(可能 google认为没有人会在几个手指都在屏幕 ...

  2. 信号之system函数

    在http://www.cnblogs.com/nufangrensheng/p/3512291.html中已经有了一个system函数的实现,但是该版本并不执行任何信号处理.POSIX.1要求sys ...

  3. Android Service 服务(一)—— Service .

    http://blog.csdn.net/ithomer/article/details/7364024 一. Service简介 Service是android 系统中的四大组件之一(Activit ...

  4. 手机页面rem布局

    手机页面设计一般的大小是640,但是,手机屏幕大小确实不确定的,这样,怎么才能做出适应所有手机的手机页面呢?一般的解决方案有两种,rem布局和百分比布局,更推荐用rem布局来制作手机页面. 首先,给页 ...

  5. c++中io流的使用

    #include <strstream> #include <iostream.h> #include <string> using namespace std; ...

  6. Android_UI

    * fang@author * Android布局原则: * (1)尽量多使用LinearLayout和RelativeLAyout,不要使用AbsoluteLayout * (2)在布局层次一样的情 ...

  7. multithread synchronization use mutex and semaphore

    #include <malloc.h> #include <pthread.h> #include <semaphore.h> struct job { /* Li ...

  8. PHP Slim 框架初体验之无法访问控制器

    话不多说,先把报错贴出来: 刚开始用slim框架,在设置完自动加载文件和路由文件之后,我写了一个控制器: <?php use \Psr\Http\Message\ServerRequestInt ...

  9. 关于SWT中的GridLayout布局方式

    GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序 ...

  10. Linux 的使用基础---Linux的常用命令

    自己电脑的安装的软件太多了,如果重装linux系统的话,是在是太麻烦了,本身电脑系统是32位的,硬件上的配置也行,所以就安装了虚拟机,在虚拟机上又安装了一个Linuxd 系统,虽然速度是有些慢,总比浪 ...