Linux下mysql5.6.24(二进制)自动安装脚本
作者:洛丹伦de夏天 发布时间:2024-01-21 12:36:42
标签:linux,mysql5.6,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安装已经完成,可以使用它做一些测试了。
来源:https://blog.csdn.net/Snail1218/article/details/47124457


猜你喜欢
- 比如在学习list、tuple、dict、str、os、sys等模组的时候,利用Python的自带文档可以很快速的全面的学到那些处理的函数。
- 浏览器的简单操作# 导入webdriver模块# 创建driver对象,指定Chrome浏览器driver = webdrive
- 公司需要处理一些报表,需要使用百分率,保留2位小数,只用round和trunc函数都可以实现(round(_data,2) ),只是格式不是
- 目录一、CentOS7+MySQL8.0,yum源安装二、登录mysql以及修改密码三、远程登录1.MySQL yum源安装2.安装后,首次
- python 的语法定义和C++、matlab、java 还是很有区别的。1. 括号与函数调用def devided_3(x):  
- 最近发现一常见的加载进度条(loadding)的问题,所以试试,觉得还不错,大家可以看下.当然这个只是一个效果而已!呵呵,用的着的时候,你就
- 为了能够使用ERWin能够进行基于MySQL数据库的物理设计,可以采用以下方法步骤(假设你已经有了一个设计好的LOGICAL MODEL):
- 本文实例讲述了python实现对一个完整url进行分割的方法。分享给大家供大家参考。具体分析如下:python对一个完整的url进行分割,将
- 前言本篇博客主要解决在使用pandas绘制图像并保存时,由于标签太长,导致坐标轴上的标签显示不全的问题。刚遇到问题时调整了一下图片大小,然鹅
- 一个最最简单的例子:绘制一个从 0 到 360 度完整的 SIN 函数图形import numpy as npimport matplotl
- Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上。后来对Python渐渐熟悉了一点
- opts, args = getopt.getopt(sys.argv[1:], "t:s:h", ["wal
- Django1.11配合uni-app发起微信支付!经过三天的断断续续的奋战,我终于是干动了微信支付。为了以后不忘记,现在来一篇教程,来来来
- 运行平台:WindowsPython版本:Python3.xIDE:Sublime text3一、Scrapy简介Scrapy是一个为了爬取
- 本文讲述了提高代码可读性的十大注释技巧。分享给大家供大家参考,具体如下:很多程序员在写代码的时候往往都不注意代码的可读性,让别人在阅读代码时
- 本文实例讲述了python使用pymongo与MongoDB基本交互操作。分享给大家供大家参考,具体如下:本文内容:pymongo的使用:安
- 简介 本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数、判断语句、循环语句、文件操作等。项目流程 运行代码之后
- 不知道工商银行帐号是否是这样的格式, 如果错了请大家见谅!<script language="javascript"
- 本节内容:1.前言2.相关概念3.Python中的默认编码4.Python2与Python3中对字符串的支持5.字符编码转换一、前言Pyth
- Pandas是一个强大的数据处理库,它提供了高性能、易于使用的数据结构和数据分析工具。本文将介绍Pandas常用的数据结构和常用的数据分析技