MySQL脚本自动安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz
脚本安装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的更多相关文章
- 可以自动安装mysql数据库的一个shell脚本
发布:thatboy 来源:脚本学堂 [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...
- 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 ...
- .net安装包自动安装Mysql数据库
原文:.net安装包自动安装Mysql数据库 在制作.Net安装包的时候,如果项目有用到数据库,怎么能够把数据库打包安装呢?网上已经有很多自动安装Sql Server数据库的例子,但是自动安装mysq ...
- MySQL初体验--安装MySQL
操作系统版本:redhat 6.7 64位 [root@mysql ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server releas ...
- Ubuntu/CentOS下使用脚本自动安装 Docker
Ubuntu.Debian 系列安装 Docker 系统要求 Docker 支持以下版本的 Ubuntu 和 Debian 操作系统: Ubuntu Xenial 16.04 (LTS) Ubuntu ...
- MySQL介绍及安装&MySQL软件基本管理
mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好 ...
- docker安装 之 ---CentOS 7 系统脚本自动安装
[使用脚本自动安装] 在测试或开发环境中Docker官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS系统上可以使用这套脚本安装: $ curl -fsSL get.docker.com - ...
- nginx脚本自动安装
nginx脚本自动安装 脚本功能: 自动安装nginx 自动判别系统是否安装nginx 自定义安装nginx路径 自定义安装nginx版本. #!/bin/bash #2019年10月30日16:00 ...
- yum自动安装mysql
1.安装客户端和服务器端查看CentOS自带mysql: yum list installed | grep mysql卸载CentOS系统自带mysql数据库? yum -y remove mysq ...
随机推荐
- Python安装setuptools时报Compression requires the (missing) zlib
装机员为您提供Python安装setuptools时报Compression requires the (missing) zlib的文章咨询供您阅读,如何使用Python安装setuptools时报 ...
- 和BEM的战斗:10个常见问题及如何避免
原文链接: https://segmentfault.com/a/1190000006135647 无论你是刚刚发现BEM或者已经是个中熟手(作为web术语来说),你可能已经意识到它是一种有用的方法. ...
- ggplot笔记001——ggplot2安装
R3.2.2版安装ggplot2 今天安装ggplot2,开始用的是R3.2.1版本,但是一直报错.后面换了一个最新的R3.2.2,但安装时还是一样报错,原因是munsell这个包 ...
- HBase-存储-KeyValue格式
HBase-存储-KeyValue格式 本质上,HFile中的每个KeyValue都是一个低级的字节数组,它允许零复制访问数据. KeyValue格式如下 该结构以两个分别表示键长度(Key Leng ...
- 中文乱码之myEclipse项目导入时中文乱码(待)
方法1:检查默认的编码是否设置成utf-8. 步骤如图: window——>preferences... 若Text file encoding 中的编码为 Other == UTF-8 ,则已 ...
- git 里面遇到的问题
第一步:建立git仓库(本地) cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定的文件 ...
- zeptojs的一些别人的博客
http://www.css88.com/doc/zeptojs/ http://blog.163.com/litianyichuanqi@126/blog/static/11597944120142 ...
- unity监测按下键的键值并输出+unity键值
using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using U ...
- TCP/IP Socket 的理解
网络由下往上分为:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. TCP 协议对应于传输层,HTTP 协议对应应用层,Socket 则是对 TCP/IP 协议的封装. ...
- 【Prism】MEF版EventAggregation
引言 第三弹是EventAggregation Demo的改造. EventAggregation EventAggregation事件聚集是Prism框架中的通信实现.它可以在松散的模块或者窗体之 ...