Linux下mysql5.6.24(二进制)自动安装脚本

 更新时间:2018年03月27日 11:25:41   作者:洛丹伦de夏天  
这篇文章主要为大家详细介绍了Linux环境下mysql5.6.24二进制自动安装脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了Linux环境下mysql5.6.24自动安装脚本代码,供大家参考,具体内容如下

说明:

一、本脚本仅供测试使用,若正式环境想要使用,需更改脚本的一些参数。

二、使用本脚本之前,需保证linux环境可以联网下载,若不能联网,则需要将下载好的mysql二进制包上传至linux中的/data目录下。

三、脚本使用是需一次输入三个参数:

1、需安装的mysql版本号,如:5.6.24

2、需安装的mysql端口设置,如:3306

3、mysql的server_id设置,如:1003306

使用步骤:

1、将下列脚本上传至linux环境中,我个人是以mysql_install.sh命名

#!/bin/bash 
#mysql_install by chen 
#Email:chenhz1218@gmail.com & 296966488@qq.com 
#version 2.0 
#安装版本 5.6.20-5.6.25 
#安装要求: 
#需要可以联网,若无网络,可以先创建/data目录,将安装包上传到/data目录下 
 
#判断/data目录是否存在,若不存在则创建,并且下载mysql 
datamenu="/data" 
read -p "Input a mysql version:" -t 30 mysql_version 
read -p "Input a mysql port:" -t 30 mysql_port 
read -p "Input a mysql_server_id:" -t 30 mysql_server_id 
mysqlfile="$datamenu/mysql-$mysql_version-linux-glibc2.5-x86_64.tar.gz" 
 
if [ ! -d "$datamenu" ];then 
  mkdir "$datamenu" 
  wget -P /data http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-$mysql_version-linux-glibc2.5-x86_64.tar.gz 
elif [ ! -f "$mysqlfile" ];then 
  wget -P /data http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-$mysql_version-linux-glibc2.5-x86_64.tar.gz 
fi 
 
#解压下载好的mysql 
cd /opt 
mkdir mysql 
cd mysql 
tar zxvf $mysqlfile -C /opt/mysql 
 
#创建mysql用户 
 
egrep "^mysql" /etc/group >& /dev/null 
if [ $? -ne 0 ] 
then 
 groupadd mysql 
fi 
 
#create user if not exists 
egrep "^mysql" /etc/passwd >& /dev/null 
if [ $? -ne 0 ] 
then 
 useradd -g mysql -s /sbin/nologin -d /usr/local/mysql mysql 
fi 
 
 
#创建mysql软连接,并授权给mysql用户 
cd /usr/local/ 
rm -rf /usr/local/mysql 
ln -s /opt/mysql/mysql-$mysql_version-linux-glibc2.5-x86_64 /usr/local/mysql 
chown -R mysql:mysql /usr/local/mysql 
chown -R mysql:mysql /usr/local/mysql/ 
 
#基于配置文件,创建mysql安装目录,并授权 
mkdir -p /data/mysql 
mkdir -p /data/mysql/mysql${mysql_port} 
cd /data/mysql/mysql${mysql_port}/ 
mkdir /data/mysql/mysql${mysql_port}/data 
mkdir /data/mysql/mysql${mysql_port}/logs 
mkdir /data/mysql/mysql${mysql_port}/tmp 
chown -R mysql:mysql /data/mysql/mysql${mysql_port} 
 
cat > /etc/my.cnf << EOF 
 
[client] 
port   = ${mysql_port} 
socket   = /tmp/mysql.sock 
 
# The MySQL server 
[mysqld] 
# Basic 
port   = ${mysql_port} 
user  = mysql 
basedir   = /usr/local/mysql 
datadir   = /data/mysql/mysql${mysql_port}/data 
tmpdir   = /data/mysql/mysql${mysql_port}/tmp 
socket   = /tmp/mysql.sock 
 
log-bin  = /data/mysql/mysql${mysql_port}/logs/mysql-bin 
 
log-error = error.log 
slow-query-log-file = slow.log 
skip-external-locking 
skip-name-resolve 
log-slave-updates 
 
lower_case_table_names = 1 #忽略表名大小写 
 
character_set_server   = gbk 
innodb_file_per_table   = 1 
innodb_autoinc_lock_mode  = 2 
 
explicit_defaults_for_timestamp = true 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
 
EOF 
 
 
#初始化mysql 
 
cd /usr/local/mysql 
./scripts/mysql_install_db --defaults-file=/etc/my.cnf 
 
 
#在/etc/init.d下创建mysql 启动脚本 
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
 
 
#添加环境变量,并使/etc/profile环境变量生效 
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile 
export PATH=$PATH:/usr/local/mysql/bin 

2、给脚本赋予可执行权限,

[root@zabbix-server ~]# rz -y 
z waiting to receive.**B0100000023be50 
[root@zabbix-server ~]# ls 
anaconda-ks.cfg install.log install.log.syslog mysql_install.sh 
[root@zabbix-server ~]# chmod +x mysql_install.sh 
[root@zabbix-server ~]# ls -al|grep mysql_install.sh 
-rwxr-xr-x. 1 root root 3136 Jul 29 10:29 mysql_install.sh 

3、执行脚本,并输入三个参数,等待数据库安装

[root@MySQL ~]# ./mysql_install.sh 
Input a mysql version:5.6.24 
Input a mysql port:3306 
Input a mysql_server_id:1003306 

4、启动数据库

[root@MySQL ~]# /etc/init.d/mysql start 
Starting MySQL..           [ OK ] 
[root@zabbix-server ~]# mysql 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 1 
Server version: 5.6.24-log MySQL Community Server (GPL) 
 
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. 
 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
 
mysql> show databases 
 -> ; 
+--------------------+ 
| Database   | 
+--------------------+ 
| information_schema | 
| mysql    | 
| performance_schema | 
| test    | 
+--------------------+ 
4 rows in set (0.00 sec) 
 
mysql> 

至此,linux下mysql安装已经完成,可以使用它做一些测试了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • MySQL处理重复数据的方法

    MySQL处理重复数据的方法

    这篇文章主要介绍了MySQL处理重复数据的方法,处理重复数据包括防止表中出现重复数据、统计重复数据、过滤删除重复数据,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解

    使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解

    今天小编就为大家分享一篇关于使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • SQL实现LeetCode(176.第二高薪水)

    SQL实现LeetCode(176.第二高薪水)

    这篇文章主要介绍了SQL实现LeetCode(176.第二高薪水),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Mysql8公用表表达式CTE详解

    Mysql8公用表表达式CTE详解

    这篇文章主要介绍了Mysql8公用表表达式CTE详解,公用表表达式(或通用表表达式)简称为CTE,CTE可以理解成一个可以复用的子查询,当然跟子查询还是有点区别的,CTE可以引用其他CTE,但子查询不能引用其他子查询,需要的朋友可以参考下
    2023-08-08
  • 用批处理实现自动备份和清理mysql数据库的代码

    用批处理实现自动备份和清理mysql数据库的代码

    有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本,当然我们也可以利用软件实现
    2013-08-08
  • Oracle和MySQL的高可用方案对比分析

    Oracle和MySQL的高可用方案对比分析

    这篇文章主要介绍了Oracle和MySQL的高可用方案对比分析,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • 用Eclipse连接MySQL数据库的步骤

    用Eclipse连接MySQL数据库的步骤

    这篇文章主要介绍了如何用Eclipse连接MySQL数据库,需要的朋友可以参考下
    2015-08-08
  • MySQL 数据库函数库

    MySQL 数据库函数库

    MySQL 数据库函数库...
    2006-12-12
  • 从云数据迁移服务看MySQL大表抽取模式的原理解析

    从云数据迁移服务看MySQL大表抽取模式的原理解析

    这篇文章主要介绍了从云数据迁移服务看MySQL大表抽取模式的原理解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • MySQL 慢查询日志的开启与配置

    MySQL 慢查询日志的开启与配置

    这篇文章主要介绍了MySQL 慢查询日志的开启与配置的方法,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-12-12

最新评论