脚本安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz

先准备好数据文件的路径

softdir='/data/soft'

把脚本和tar包放在相应的路径下,其实就是源码安装的一个shell封装,记得修改innodb的一些参数

#!/bin/bash
clear
echo "========================================================================="
echo ""
echo "Mysql for Centos6.x Install scripts "
echo "Default Install PATH:/usr/local/mysql"
echo "Default mysql default password:mysql"
echo "========================================================================="
echo ""
echo "" read -p "If the OK! Press any key to start..."
basedir='/usr/local/mysql'
datadir='/data/mysqldata/3306'
softdir='/data/soft'
user='mysql'
group='mysql'
logs=/tmp/install`date +%F`.log
port=3306
curDate=`date +'%Y%m%d'`
myFile=mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz echo "`date +%F` beginning !" >>$logs
#create mysql datadir
if [ ! -d $datadir ];then
mkdir -p /data/mysqldata/{3306/{data,tmp,binlog,slave,log/iblog},backup,scripts}
echo -e "create datadir the mysql" >>$logs
fi #create mysql basedir
#if [ ! -d $basedir ];then
# mkdir -p /usr/local/mysql
# echo -e "create basedir the mysql" >>$logs
#fi #create mysqlsoft basedir
if [ ! -d $softdir ];then
mkdir -p /data/soft
echo -e "create basedir the mysql" >>$logs
fi base() {
echo "EVN Initialization..."
yum install -y gcc gcc-* make cmake gcc-c++ libaio libaio-devel bison bison-devel autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* --skip-broken
sleep 3
yum install -y openssl openssl-devel ncurses ncurses-devel --skip-broken
sleep 3
yum install -y 'perl(Data::Dumper)'
groupadd mysql
useradd -g mysql mysql
} download() {
echo "Download soft..."
cd $softdir
if [ ! -f "$myFile" ]; then
# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
#echo -e "download soft the mysql" >>$logs
echo -e "cannt find mysql file,pls download" >>$logs
exit 1
fi
} install(){
cd $softdir
tar -zxvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mysql-5.6.15-linux-glibc2.5-x86_64 mysql
echo -e "use mysql blibc to install" >>$logs touch /data/mysqldata/3306/my.cnf
export MYSQL_PORT=${port}
## generate server id
server_id=`date +'%y%m%d%H%M'`
export MYSQL_SERVER_ID=${server_id} cat >> /data/mysqldata/3306/my.cnf << EOF
[client]
port=3306
socket=/data/mysqldata/3306/mysql.sock [mysql]
prompt = [\\u@\\p][\\d]>\\_
no-auto-rehash
pid_file=/data/mysqldata/3306/mysqld.pid [mysqldump]
single-transaction [mysqld]
autocommit=1
general_log=off
explicit_defaults_for_timestamp=true
#character set
character-set-server = utf8
event_scheduler = 1 # system
basedir=/usr/local/mysql
datadir=/data/mysqldata/3306/data
max_allowed_packet=32M
max_connections=300
max_user_connections=280
max_connect_errors = 1000000
open_files_limit=65535
query_cache_type=0
query_cache_size=0 #timeout
lock_wait_timeout=120
interactive_timeout = 300
wait_timeout = 300 port=3306
server_id=${MYSQL_SERVER_ID} skip_name_resolve=ON
socket=/data/mysqldata/3306/mysql.sock
tmpdir=/data/mysqldata/3306/tmp #binlog
log_bin=/data/mysqldata/3306/binlog/mysql-bin
binlog_cache_size=32K
binlog_format=row
#expire_logs_days=90
log_slave_updates=ON
max_binlog_cache_size=1G
max_binlog_size=500M
sync_binlog=1
#transaction-isolation=READ-COMMITTED #logging
log_error=/data/mysqldata/3306/log/mysql-error.log
slow_query_log_file=/data/mysqldata/3306/log/mysql-slow.log
log_queries_not_using_indexes=0
slow_query_log=1
log_slave_updates=ON
log_slow_admin_statements=1
long_query_time=2
log-bin-trust-function-creators = 1 #gitd
#gtid_mode = on
#enforce_gtid_consistency = 1 #relay
relay_log=/data/mysqldata/3306/slave/relaylog
relay_log_index=/data/mysqldata/3306/slave/mysqld-relay-bin.index
relay_log_info_file=/data/mysqldata/3306/slave/relay-log.info
relay_log_recovery = 1 #slave
slave_load_tmpdir=/data/mysqldata/3306/tmp
slave_skip_errors=1032,1062
skip-slave-start #innodb
innodb_data_home_dir=/data/mysqldata/3306/log/iblog
innodb_log_group_home_dir=/data/mysqldata/3306/log/iblog
innodb_adaptive_flushing=ON
innodb_adaptive_hash_index=ON
innodb_autoinc_lock_mode=2
innodb_buffer_pool_instances=2 #default
innodb_change_buffering=inserts
innodb_checksums=ON
innodb_buffer_pool_size= 1024M
innodb_data_file_path=ibdata1:1G:autoextend
innodb_doublewrite=ON
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_io_capacity=1000
innodb_lock_wait_timeout=10
innodb_log_buffer_size=200M
innodb_log_file_size=1G
innodb_log_files_in_group=4
innodb_max_dirty_pages_pct=60
innodb_open_files=60000
innodb_purge_threads=4
innodb_stats_on_metadata=OFF
innodb_support_xa=ON
innodb_use_native_aio=OFF
innodb_write_io_threads = 8
innodb_read_io_threads = 8 [mysqld_safe]
datadir=/data/mysqldata/3306/data EOF
chown -R mysql:mysql /usr/local/mysql/
chown -R mysql:mysql /data/mysqldata/
#su - mysql
sudo -u mysql /usr/local/mysql/scripts/mysql_install_db --defaults-file=/data/mysqldata/3306/my.cnf --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql --user=mysql
sleep 3
sudo -u mysql /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
echo 'export PATH="/usr/local/mysql/bin:$PATH"' >>/home/mysql/.bash_profile
echo 'export LANG=en_US.UTF-8' >>/home/mysql/.bash_profile
echo 'export MYSQL_PS1="(\u@\h:\p) [\d]> "' >>/home/mysql/.bash_profile
source /home/mysql/.bash_profile
} end() {
clear
echo "" echo ""
} ##设置显示脚本运行时间##
function start_time()
{
start_time="$(date +%s)"
echo "$(date) 开始安装!!"
echo "$start_time" > /tmp/install_lnmp_runtime
}
function end_time()
{
end_time="$(date +%s)"
total_s=$(($end_time - $start_time))
total_m=$(($total_s/60))
if [ $total_s -lt 60 ]; then
time_en="${total_s} 秒"
else
time_en="${total_m} 分"
fi
echo "$(date) 完成安装"
echo "运行install_lnmp.sh 所花的时间:${time_en}">/tmp/install_lnmp_runtime
echo "总共运行时间: ${time_en}"
} main() {
start_time
echo "Installtion MYSQL..."
base
download
install
end
end_time
} main

MySQL脚本自动安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz的更多相关文章

  1. 可以自动安装mysql数据库的一个shell脚本

    发布:thatboy   来源:脚本学堂     [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...

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

    Centos 6.4上面用Shell脚本一键安装mysql 5.6.15  #!/bin/bash if [ `uname -m` == "x86_64" ];then machi ...

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

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

  4. MySQL初体验--安装MySQL

    操作系统版本:redhat 6.7 64位 [root@mysql ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server releas ...

  5. Ubuntu/CentOS下使用脚本自动安装 Docker

    Ubuntu.Debian 系列安装 Docker 系统要求 Docker 支持以下版本的 Ubuntu 和 Debian 操作系统: Ubuntu Xenial 16.04 (LTS) Ubuntu ...

  6. MySQL介绍及安装&MySQL软件基本管理

    mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好 ...

  7. docker安装 之 ---CentOS 7 系统脚本自动安装

    [使用脚本自动安装] 在测试或开发环境中Docker官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS系统上可以使用这套脚本安装: $ curl -fsSL get.docker.com - ...

  8. nginx脚本自动安装

    nginx脚本自动安装 脚本功能: 自动安装nginx 自动判别系统是否安装nginx 自定义安装nginx路径 自定义安装nginx版本. #!/bin/bash #2019年10月30日16:00 ...

  9. yum自动安装mysql

    1.安装客户端和服务器端查看CentOS自带mysql: yum list installed | grep mysql卸载CentOS系统自带mysql数据库? yum -y remove mysq ...

随机推荐

  1. 多版本python的使用

    装任一版本的virtualenv都可以 在创建virtualenv时只需指定python的安装位置就可使用该版本的python virtualenv --python=D:\install\pytho ...

  2. 算法总结之 最大值减去最小值或等于num的子数组数量

    给定数组arr和整数num,共返回有多少个子数组满足  <= num 数组长度N    时间复杂度O(N) package TT; import java.util.LinkedList; pu ...

  3. 算法总结之 在单链表和双链表中删除倒数第k个节点

    分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点 思路: 如果链表为空,或者k<1 参数无效 除此之外 让链表从头开始走到尾,每移动一步,就让k的值减1 ...

  4. Eclipse下利用Maven创建SpringBoot的Restful风格程序

    参考文章:https://spring.io/guides/gs/rest-service/ 中文翻译:https://blog.dubby.cn/detail.html?id=9040 1.目标是什 ...

  5. Tensorflow搭建神经网络及使用Tensorboard进行可视化

    创建神经网络模型 1.构建神经网络结构,并进行模型训练 import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt ...

  6. jedis提纲

    A01 - jedis库介绍 A01 - 在多线程下使用Jedis A01 - Jedis的八种调用方式   A02 - API使用文档 A02 - Jedis代码编程使用(简单的使用)   A03 ...

  7. QBZT Day3(zhx ak IOI)

    动态规划 DP和前几天学的东西不大一样,动态规划和数据结构相比是一个非常抽象的东西 先来看看斐波那契数列 定义是F0=0,F1=1,Fn=F(n-1)+F(n-2) 0,1,1,2,3,5,8,13, ...

  8. 重写ddt的mk_test_name方法

    一. 测试用例名字的问题 使用ddt做测试,得到的测试报告中,测试用例的名字默认以_01, _02, _03...递增的形式结尾,这时我希望用例名能够以_api_name结尾,比如注册模块,希望看到的 ...

  9. URL OpenDocument

    以前用在DASHBOARD 使用URL传参 到webi 报表.还是很多不理解,现在明白多了.于是做个较为详细的记录.尽管dashboard 很快就被淘汰了.也许没什么用.看看也好. 之前的报表,传参都 ...

  10. 实用工具类--第三方开源--Lazy

    下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabas ...