Mariadb一键安装脚本

下载地址:https://mariadb.org/download/

#!/bin/bash
#将安装文件放在/usr/loca/下面,根据mariadb版本号不一样,修改MYSQL_TAR和MYSQL_UNZIP_FILE参数的版本号,然后执行脚本进行安装.
#脚本可重复执行,如果是已经有数据的情况下,先把之前的数据目录都备份好以后再执行脚本,防止数据被删除.
# date: 2016.7.20
MYSQL_HOME='/usr/local/mysql'
MYSQL_TAR='/usr/local/mariadb-10.0.15-linux-x86_64.tar.gz'
MYSQL_UNZIP_FILE='/usr/local/mariadb-10.0.15-linux-x86_64'
MYSQL_UNDO='/usr/local/mysql/undo'
MYSQL_REDO='/usr/local/mysql/redo'
MYSQL_USER='mysql'
MYSQL_PASSWD='xusj'
MYSQL_PORT='3306'
MYSQL_CONF='/etc/my.cnf'
TIME=`date +%Y%m%d`#mysql用户/密码/实例相关参数
root_passwd="111111"
database_name='xxfae'
username='xxfae'rm -rf $MYSQL_UNZIP_FILE  && rm -rf $MYSQL_HOME#安装环境检查
check_soft()
{if [ ! -f $MYSQL_TAR ];thenecho "请确认安装文件 $MYSQL_TAR 在$MYSQL_HOME目录,重新执行$0"rm -rf $MYSQL_UNZIP_FILE > /dev/null 2>&1rm -rf $MYSQL_HOME > /dev/null 2>&1rm -rf /etc/my.cnf > /dev/null 2>&1rm -rf /etc/init.d/mysqld >/dev/null 2>&1fipid=`pidof mysqld`if [ ! -z $pid ];thenkill -9 $pidecho "mysqld在运行中,杀掉mysql进程" && sleep 1fi
}#安装环境准备
init()
{find / -name "mysql" -exec rm -rf {} \; >/dev/null 2>&1id mysqlif [  "0" == "$?" ];thenecho "mysql用户存在,删除mysql用户和组" pid=`pidof mysqld`kill -9  $pid >/dev/null 2>&1/usr/sbin/userdel -r  mysql > /dev/null 2>&1echo "1创建mysql用户和组" && sleep 2/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -g mysql mysqlelseecho "2222创建mysql用户和组" && sleep 2/usr/sbin/groupadd mysql/usr/sbin/useradd -s /sbin/nologin -g mysql mysqlfi
}#安装程序
mysql_install()
{/bin/tar -zxf  $MYSQL_TAR  -C /usr/local/echo "创建mysql相关文件目录" && sleep 2ln -s $MYSQL_UNZIP_FILE $MYSQL_HOMEmkdir -p $MYSQL_REDO mkdir -p $MYSQL_UNDOchmod -R 755 $MYSQL_HOME/chown -R mysql:mysql $MYSQL_HOME/cd $MYSQL_HOME/echo "MySQL安装初始化..."./scripts/mysql_install_db --user=$MYSQL_USER --innodb_undo_directory=$MYSQL_UNDO --innodb_undo_tablespaces=16if [ -n "$?" ] ;thenecho "mysql install successful!"cp support-files/my-huge.cnf /etc/my.cnfcp support-files/mysql.server /etc/init.d/mysqldelseecho "mysql install failed"exit 1    fi
}#配置文件
mysql_conf()
{mv /etc/my.cnf /etc/my.cnf_$TIME.bakecho "[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 0
query_cache_type=0
log_slave_updates=ON
sync_relay_log=1
innodb_buffer_pool_size=4000M
transaction-isolation=READ-COMMITTED
innodb_autoinc_lock_mode = 2
#skip-name-resolve
innodb_thread_concurrency=5
back-log=500
default-storage-engine=InnoDB
innodb_flush_method=O_DIRECTinnodb_undo_tablespaces = 16
innodb_undo_directory = /usr/local/mysql/undo
innodb_log_group_home_dir=/usr/local/mysql/redo
innodb_data_home_dir=/usr/local/mysql/data
character-set-server=utf8
collation-server=utf8_general_ci
lower_case_table_names = 1
log_bin_trust_function_creators=1
innodb_strict_mode=true
log-bin=mysql-bin
binlog_checksum=NONE
binlog_format=ROW
binlog_cache_size = 8M
max_binlog_size = 500M
max_binlog_cache_size = 100M
expire_logs_days = 7
innodb_log_file_size=512m
innodb-log-buffer-size=8M
innodb-log-files-in-group=2
default-tmp-storage-engine=InnoDB
innodb-autoextend-increment=16M
innodb-buffer-pool-instances=4
innodb-file-per-table=true
innodb_rollback_on_timeout=true
innodb-old-blocks-time=60000
innodb-print-all-deadlocks=true
open-files-limit=32767
innodb_open_files=32767
log-output=FILE
slow-query-log=true
log-queries-not-using-indexes=true
thread_handling=pool-of-threads
thread_pool_max_threads=100
thread_pool_size=50
thread_cache_size=64
max-connections=3000
event_scheduler=ON
server-id   = 1
performance_schema=on
performance-schema-instrument='wait/io/file/%=on'
performance-schema-instrument='wait/io/table/%=on'
performance-schema-instrument='statement/com/%=on'
performance-schema-instrument='statement/sql/%=on'
performance-schema-instrument='stage/sql/%=on'
performance-schema-consumer-events_stages_current=on
performance-schema-consumer-events_stages_history_long=on
performance_schema_events_statements_history_long_size=10000
performance-schema-consumer-events_statements_current=on
performance-schema-consumer-events_statements_history_long=on
performance_schema_events_statements_history_long_size=10000
performance-schema-consumer-events_waits_current=on
performance-schema-consumer-events_waits_history_long=on
performance_schema_events_waits_history_long_size=10000
performance-schema-consumer-statements_digest=on
performance_schema_digests_size=10000[mysqldump]
quick
max_allowed_packet = 16M" > /etc/my.cnf
}#mysql服务设置,启动mysql
mysqld()
{chkconfig --add /etc/init.d/mysqldchkconfig mysqld onecho "启动mysql..."service mysqld start
}passwd()
{echo "设置mysql的root管理密码成功!" && sleep 2source ~/.bash_profilemysqladmin -uroot password $root_passwd
}create_user()
{echo "创建mysql业务用户$username,默认密码为123456,请登录数据库进行修改!" && sleep 2 mysql -uroot -e "grant all privileges on *.* to $username@'localhost' identified by '123456';"
}create_db()
{echo "创建数据库实例$database_name,默认字符集为UTF-8." && sleep 2mysql -uroot -e "use mysql; create database $database_name charset utf8;"
}check_soft && init && mysql_install &&mysql_conf && mysqld && create_user && create_db && passwd

转载于:https://blog.51cto.com/xushaojie/1830111

mariadb自动安装脚本相关推荐

  1. Puppet客户端自动安装脚本

    运维自动化发展已经是势不可挡,传统的靠大量人力运维的方式渐不能满足企业IT发展的需求,其中Puppet自动化更是受到IT人士的青睐,那今天我们一起来研究一下puppet客户端的自动安装脚本.脚本不足之 ...

  2. Linux从入门到精通——自动安装脚本

    ###kickstart 自动安装脚本的制作### KickStart是什么,有什么作用?    KickStart是一种无人职守安装方式.KickStart的工作原理是通过记录典型的安装过程中所需人 ...

  3. Hadoop自动安装脚本

    Hadoop自动安装脚本 文章目录 Hadoop自动安装脚本 前言 脚本说明 脚本截图 后记 前言 最近在学习大数据的相关知识,对于 Hadoop的安装这一块,身边不少同学安装都存在许多问题,不行安装 ...

  4. Nginx自动安装脚本

    如下脚本为Nginx自动安装脚本,仅供参考,可以根据实际情况修改,这里使用case方式,真实环境安装可以去掉case这种模式,全自动安装. #!/bin/sh ###nginx install she ...

  5. httpd-2.2.21 + php-5.3.8 自动安装脚本

    httpd-2.2.21 + php-5.3.8 自动安装脚本 http://netkiller.github.com/#!/bin/bash #=========================== ...

  6. 第三方库自动安装脚本(复习)

    第三方库自动安装脚本 一."第三方库自动安装脚本"问题分析 1.1 问题分析第三方库自动安装脚本需求:批量安装第三方库需要人工干预,能否自动安装?自动执行pip逐一根据安装需求安装 ...

  7. mysql自动安装脚本

    为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并 ...

  8. 自动安装第三方库python,python第三方库自动安装脚本

    #python第三方库自动安装脚本,需要在cmd中运行此脚本 #BatchInstall.py import os libs = {"numpy","matplotlib ...

  9. centos7的freeswitch1.10.3自动安装脚本

    大多数freeswitch安装说明都以debian为主,不过CentOS使用方便用户众多,因此整理了CentOS7的freeswitch1.10.3的自动安装脚本,方便以后使用. 脚本包含两个文件:i ...

最新文章

  1. USACO Shaping Regions(离散化)
  2. 如何在Node.js中退出
  3. MVC初级知识之五——MVCHtmlHelper使用
  4. linux python2.7 链接mysql导出数据库脚本_python备份文件以及mysql数据库的脚本代码...
  5. linux方法参数,Linux的sysctl 命令 参数
  6. python输入数字成数组_python – Numpy:将数值插入数组的最快方法,使得数组按顺序排列...
  7. zk可实现分布式锁,Redis也可实现,之间有什么区别?
  8. 谷粒商城:04. 逆向工程完善微服务系统
  9. json获取key对应的值java_java 获取json字符串中key对应的值
  10. javascript对象概念大全
  11. VSCode中Clangd无法找到stdio.h
  12. VC编程读取文本数据
  13. 三线npn型接近开关与三菱plc输入端子接线方法
  14. ArcGIS构建缓冲区,合并两个重叠的面
  15. SQL dialect is not configured.
  16. Linux安装redis并设置开机自启以及利用小红桶连接(命令行方式)
  17. 研究团队开发AI系统,仅通过足迹来识别身份
  18. 【复杂网络】自学笔记整理
  19. #include<intrins.h>中包含的函数说明
  20. YTU 3014 文件格式变换

热门文章

  1. 《麻省理工科技评论》:2018年18大科技趋势,2017年7大失败技术
  2. 电动汽车:新一轮三年十倍,“补贴”结束“高端”开启
  3. 2018全球技术展望报告
  4. 2020 最烂密码 TOP 200 大曝光,霸榜的竟然是它?
  5. mysql5.7 生成列 generated column
  6. 临河智慧城管:让城市更和谐
  7. Redis 备份、容灾及高可用实战
  8. java多线程学习三
  9. 文件的特殊权限:suid sgid sticky
  10. response.setContentType()方法浅析