linux mysql集群搭建视频教程_Linux基础入门之mysql集群搭建实战(一)

一键自动安装mysql5.7shell脚本自动化安装二进制mysql-5.7

本节主要用到四个shell脚本和一台资料存储机器(IP:192.168.42.26)

install_mysql.sh自动化安装mysql脚本

ntpdate.sh时间同步脚本

system_init.sh系统初始化脚本

yum.shyum源配置脚本执行步骤:

1.创建目录和下载脚本

mkdir-p/server/scriptcd/server/scriptwget-chttp://192.168.42.26/script/yum.shwget-chttp://192.168.42.26/script/install_mysql.shwget-chttp://192.168.42.26/script/ntpdate.shwget-chttp://192.168.42.26/script/create_bash.shwget-chttp://192.168.42.26/script/system_init.shwget-chttp://192.168.42.26/script/change_ip.shwget-chttp://192.168.42.26/script/change_hostname.sh2.执行初始化脚本bashsystem_init.sh3.执行自动安装mysql脚本bashinstall_mysql.sh4.输入mysql命令就能进入mysql操作

注:最好使用干净的系统,避免没必要的错误(如果没有msyql环境变量,需在当前shell执行source/etc/profile.d/mysql.sh或者退出当前shell,重新登录)

主要脚本:ntpdate.sh#!/bin/bashif!`rpm-qntp&>/dev/null`;thenyuminstallntp-yfi/usr/sbin/ntpdate172.16.0.1&&/usr/sbin/hwclock-wyum.sh#!/bin/bash#Filename:yum.sh#Revision:1.1#Date:2017/05/03#Author:Srayban#Email:626612631@qq.com#Website:no#Description:自动生成yum源./etc/init.d/functionsYUMPATH="/etc/yum.repos.d"DIRNAME="back"REPONAME="CentOS-Base.repo"EPELNAME="epel.repo"YUMDOWN="http://192.168.42.26/install_package/down/"functionerror(){if[$1-ne0];thenecho$2exit4fi}if[!-d${YUMPATH}/${DIRNAME}];thenmkdir-p${YUMPATH}/${DIRNAME}&>/dev/nullerror$?"${YUMPATH}/${DIRNAME}isfailed"fi/usr/bin/rm-f${YUMPATH}/$REPONAME&>/dev/null/usr/bin/rm-f${YUMPATH}/$EPELNAME&>/dev/nullif[!-f${YUMPATH}/${REPONAME}];thencd${YUMPATH}find./-maxdepth1-typef|xargs-imv{}back/&>/dev/nullerror$?"mvscriptisfailed."wget-c${YUMDOWN}/${REPONAME}&>/dev/nullwget-c${YUMDOWN}/${EPELNAME}&>/dev/nullif[$?-eq0];thenaction"${REPONAME}createissuccess."/bin/trueelseaction"${REPONAME}createisfailed."/bin/falsefielseecho"${REPONAME}isexits."fisystem_init.sh#!/bin/bash#Filename:system_init.sh#Revision:1.1#Date:2017/05/13#Author:Srayban#Email:626612631@qq.com#Website:no#Description:系统初始化./etc/init.d/functionsDOWNADD="http://192.168.42.26/script"#错误显示functionerror_show(){echo"$1"exit3}#下载脚本功能if["$1"=="wget"];thenwget-c$DOWNADD/$2&>/dev/null[$?-eq0]&&echo"$2downloadisok"&&echo0||error_show"$1downloaderror."fi#关闭防火墙functionclose_firewalld(){/usr/bin/systemctlstopfirewalld.service&>/dev/null/usr/bin/systemctldisablefirewalld.service&>/dev/null}#关闭selinuxfunctionclose_selinux(){setenforce0sed-i's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config}#内核调优functionsysctl_optimization(){[-f/etc/sysctl.conf.bak]&&error_show"sysctl.conf.backisexist."/usr/bin/cp/etc/sysctl.conf/etc/sysctl.conf.bakcat>>/etc/sysctl.conf</dev/null`;thenrpm-e--nodepsmariadbfi#创建mysql用户if!`id${APPUSER}&>/dev/null`;then/usr/sbin/useradd-s/sbin/nologin-M${APPUSER}fi#创建应用目录[!-d${APPPATH}]&&mkdir${APPPATH}cd${APPPATH}#下载mysql二进制安装包if[!-f${APPPATH}/${APPTARNAME}];thenwget-c${DOWNADDRESS}/${APPTARNAME}fi#安装expect/usr/bin/yuminstallexpectexpect-devel-y#解压安装[-dmysql-${VERSION}]&&rm-rfmysql-${VERSION}/usr/bin/tarxvf${APPTARNAME}/usr/bin/mvmysql-${VERSION}-*mysql-${VERSION}cd${APPPATH}/mysql-${VERSION}installfile=/application/mysql.install.txt./bin/mysqld--user=${APPUSER}--basedir=/application/mysql-${VERSION}/--datadir=/application/mysql-${VERSION}/data--initialize&>$installfilecat$installfilepasswd=`cat${installfile}|tail-1|cut-d""-f11`/usr/bin/mv-rf/etc/my.cnf/etc/my.cnf.back.old&>/dev/nullcdsupport-files/[-f/etc/my.cnf]&&mv/etc/my.cnf{,.back.$(date+"%Y%d%m%H%M%S")}&>/dev/null/usr/bin/cpmy-default.cnf/etc/my.cnf/usr/bin/cpmysql.server/etc/init.d/mysqldcd${APPPATH}/ln-smysql-${VERSION}mysql#编辑配置文件cat</etc/my.cnf[client]port=3306socket=/var/lib/mysql/mysql.sockdefault-character-set=utf8mb4[mysqld]port=3306socket=/var/lib/mysql/mysql.sockbasedir=/application/mysqldatadir=/application/mysql/dataskip-external-lockingskip_name_resolve=1key_buffer_size=16Mmax_allowed_packet=1Mtable_open_cache=64sort_buffer_size=512Knet_buffer_length=8Kread_buffer_size=256Kread_rnd_buffer_size=512Kmyisam_sort_buffer_size=8Mthread_cache_size=8query_cache_size=8Mtmp_table_size=16Mperformance_schema_max_table_instances=500explicit_defaults_for_timestamp=true#skip-networkingmax_connections=500max_connect_errors=100open_files_limit=65535log-bin=mysql-binbinlog_format=mixedserver-id=1expire_logs_days=10early-plugin-load=""#loose-innodb-trx=0#loose-innodb-locks=0#loose-innodb-lock-waits=0#loose-innodb-cmp=0#loose-innodb-cmp-per-index=0#loose-innodb-cmp-per-index-reset=0#loose-innodb-cmp-reset=0#loose-innodb-cmpmem=0#loose-innodb-cmpmem-reset=0#loose-innodb-buffer-page=0#loose-innodb-buffer-page-lru=0#loose-innodb-buffer-pool-stats=0#loose-innodb-metrics=0#loose-innodb-ft-default-stopword=0#loose-innodb-ft-inserted=0#loose-innodb-ft-deleted=0#loose-innodb-ft-being-deleted=0#loose-innodb-ft-config=0#loose-innodb-ft-index-cache=0#loose-innodb-ft-index-table=0#loose-innodb-sys-tables=0#loose-innodb-sys-tablestats=0#loose-innodb-sys-indexes=0#loose-innodb-sys-columns=0#loose-innodb-sys-fields=0#loose-innodb-sys-foreign=0#loose-innodb-sys-foreign-cols=0default_storage_engine=InnoDBcharacter-set-server=utf8mb4collation-server=utf8mb4_general_ciinnodb_file_per_table=1#innodb_data_home_dir=/application/mysql/data#innodb_data_file_path=ibdata1:10M:autoextend#innodb_log_group_home_dir=/application/mysql/data#innodb_buffer_pool_size=16M#innodb_log_file_size=5M#innodb_log_buffer_size=8M#innodb_flush_log_at_trx_commit=1#innodb_lock_wait_timeout=50[mysqldump]quickmax_allowed_packet=16M[mysql]no-auto-rehash[myisamchk]key_buffer_size=20Msort_buffer_size=20Mread_buffer=2Mwrite_buffer=2M[mysqlhotcopy]interactive-timeout[mysqld_safe]pid-file=/application/mysql/data/mysqld.pidEOF#添加环境变量echo"exportPATH="'$PATH'":${APPPATH}/mysql/bin">/etc/profile.d/${APPNAME}.sh/bin/bash/etc/profile.d/${APPNAME}.sh&&./etc/profile.d/${APPNAME}.shservicemysqldstart#加入开机自启动systemctlis-enabledmysqld#修改mysql密码functionchange_mysql_passwd(){/bin/expect-c"settime30spawn/application/mysql/bin/mysqladmin-uroot-ppassword"root"expect{"*yes/no"{send"yesr";exp_continue}"*password:"{send"$passwdr"}}interactexpecteof">/dev/null2>&1;if[$?-eq0];thenaction"mysqlpasswordchangessucceeded"/bin/trueelseaction"mysqlpasswordchangesfail"/bin/falsefi}change_mysql_passwdcat</root/.my.cnf[client]default-character-set=utf8mb4socket=/var/lib/mysql/mysql.sockuser=roothost=localhostpassword=rootEOF#设置权限cd${APPPATH}/chown-R${APPUSER}:${APPUSER}mysql-${VERSION}unsetpasswdunsetinstallfileunsetAPPNAMEunsetAPPUSERunsetAPPPATHunsetVERSIONunsetAPPTARNAMEunsetDOWNADDRESSaction"MySQLInstallationsuccessful"/bin/true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值