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 ...
随机推荐
- Nginx错误日志配置信息详解
Nginx的错误日志可以配置在Main区块,也可以配置在虚拟主机区块中.Nginx软件会把自身运行的故障信息及用户访问的日志信息记录到指定的日志文件里,是我们调试Nginx服务的重要参考. error ...
- XXL-Job分布式任务调度
分布式情况下定时任务会出现哪些问题? 分布式集群的情况下,怎么保证定时任务不被重复执行 分布式定时任务解决方案 ①使用zookeeper实现分布式锁 缺点(需要创建临时节点.和事件通知不易于扩展) ② ...
- Qt QSortFilterProxyModel示例代码, 使用方法
1. QSortFilterProxyModel不能单独使用,它只是一个"代理",真正的数据需要另外的一个model提供,而且它是用来排序和过滤的. 2. 实现代码 #ifndef ...
- centos6.5 安装JDK
今天在自己的centos机子上安装jdk,发现以前的教程都比较旧了,很多东西都过时了.今天把自己安装的感受写一下. 判断是否安装 首先,我们得判断机子上是不是安装了jdk,好多人推荐使用java -v ...
- intellij idea build时出现Artifact contains illegal characters的解决
此处无法创建是因为Artifact的命名为大小写混合,将大写改为小写即可正常创建
- DataWarehouse- 从面试定位自己的水平
1.讲一下什么是维度表和事实表.用户资料表算是什么类型表. 2. 维度建模属于第几范式,让你对维度建模改进,有什么思路吗. 3. 了解数据血缘分析吗,让你实现的话有什么技术方案,感觉难点在哪. 4. ...
- 浏览器指纹--纯js拿到浏览器指纹
序言: 前两天有接收到一下问题,如何拿到浏览器指纹中的位置信息和CPU,在这之前完全没有接触过浏览器指纹,抱着学习和好奇的心态,就去网上查了大量的资料.下面我将学习过程和成果贴出来给大家. 步骤 1. ...
- Spring Boot入门(二)
一.Spring Boot项目打包 1.引入maven打包相关插件 2.项目右击run as>Maven clean.run as>Maven install在target文件夹下会生成相 ...
- npm全局安装
时间长了,很多东西都忘了. 全局安装以后,在你自己的电脑任何位置都可以使用的包.直接用命令使用的: 比如:supervisor mok 还有cnpm,express之类的.gulp之类的. 剩下的我们 ...
- C# WPF DataGrid 隔行变色及内容居中对齐
C# WPF DataGrid 隔行变色及内容居中对齐. dqzww NET学习0 先看效果: 前台XAML代码: <!--引入样式文件--> <Window.Resourc ...