千家信息网

1分钟安装部署MySQL5.6详解

发表于:2024-10-17 作者:千家信息网编辑
千家信息网最后更新 2024年10月17日,下文内容主要给大家带来1分钟安装部署MySQL5.6详解,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。1分钟完成M
千家信息网最后更新 2024年10月17日1分钟安装部署MySQL5.6详解

下文内容主要给大家带来1分钟安装部署MySQL5.6详解,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。

1分钟完成MySQL5.6安装部署

简介

Part1:写在最前

自动化运维是一个DBA应该掌握的技术,其中,自动化安装数据库是一项基本的技能,本文中的安装脚本已通过测试,作为生产库来说没有问题,鉴于每个公司存储规划要求不同,可以按需自行修改脚本。

由于源码安装费时费力,rpm包可定制性差,生产库一般采用二进制安装包,本文的安装包为二进制安装文件,本文使用的是mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz,如版本不同,替换第109、110行的tar命令后的mysql安装包名即可

Part2:新特性简介

本脚本默认启用5.6部分新特性

innodb_buffer_pool_dump_at_shutdown=1 它dump的不是数据,是Id号

innodb_buffer_pool_load_at_startup=1

开启这个两个参数当数据库重启后把这些热数据重新加载回去

只有正常关库才会dump热数据块,宕机和kill -9不会

部分参数按需整改,例如innodb_buffer_pool_size,本文给的512M,一般为内存的50%-80%

来看一下脚本的具体情况


实战

Part1:自动化脚本

[root@HE3 ~]# cat mysql_auto_install.sh

###### 二进制自动安装数据库脚本root密码MANAGER将脚本和安装包放在/root目录即可#####################数据库目录/usr/local/mysql##################数据目录/data/mysql##################日志目录/log/mysql##################端口号默认3306其余参数按需自行修改###############################author:rrhelei@126.com####################!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:~/binexport PATH# Check if user is rootif [ $(id -u) != "0" ]; then    echo "Error: You must be root to run this script, please use root to install"    exit 1ficlearecho "========================================================================="echo "A tool to auto-compile & install MySQL 5.6.25 on Redhat/CentOS Linux "echo "========================================================================="cur_dir=$(pwd)#set mysql root passwordecho "==========================="mysqlrootpwd="MANAGER"echo -e "Please input the root password of mysql:"read -p "(Default password: MANAGER):" mysqlrootpwdif [ "$mysqlrootpwd" = "" ]; thenmysqlrootpwd="MANAGER"fiecho "==========================="echo "MySQL root password:$mysqlrootpwd"echo "==========================="#which MySQL Version do you want to install?echo "==========================="isinstallmysql56="n"echo "Install MySQL 5.6.25,Please input y"read -p "(Please input y , n):" isinstallmysql56case "$isinstallmysql56" iny|Y|Yes|YES|yes|yES|yEs|YeS|yeS)echo "You will install MySQL 5.6.25"isinstallmysql56="y";;*)echo "INPUT error,You will exit install MySQL 5.6.25"isinstallmysql56="n"    exitesacget_char(){SAVEDSTTY=`stty -g`stty -echostty cbreak#dd if=/dev/tty bs=1 count=1 2> /dev/nullstty -rawstty echostty $SAVEDSTTY}echo ""echo "Press any key to start...or Press Ctrl+c to cancel"char=`get_char`# Initialize  the installation related content.function InitInstall(){cat /etc/issueuname -aMemTotal=`free -m | grep Mem | awk '{print  $2}'`  echo -e "\n Memory is: ${MemTotal} MB "#Set timezone#rm -rf /etc/localtime#ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime    #Delete Old Mysql programrpm -qa|grep mysqlrpm -e mysql#yum -y remove mysql-server mysql mysql-libs#yum -y remove php-mysql#yum -y install yum-fastestmirror#yum -y update#Disable SeLinuxif [ -s /etc/selinux/config ]; thensed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configfi    setenforce 0}#Installation of depend on and optimization options.function InstallDependsAndOpt(){cd $cur_dircat >>/etc/security/limits.conf<> /etc/sysctl.conf}#Install MySQLfunction InstallMySQL56(){echo "============================Install MySQL 5.6.22=================================="cd $cur_dir#Backup old my.cnf#rm -f /etc/my.cnfif [ -s /etc/my.cnf ]; then    mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bakfi#mysql directory configurationgroupadd mysql -g 512useradd -u 512 -g mysql -s /sbin/nologin -d /home/mysql mysqltar xvf /root/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gzmv /root/mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysqlmkdir -p /data/mysqlmkdir -p /log/mysqlchown -R mysql:mysql /data/mysqlchown -R mysql:mysql /usr/local/mysqlchown -R mysql:mysql /log#edit /etc/my.cnfSERVERID=`ifconfig eth0 | grep "inet addr" | awk '{ print $2}'| awk -F. '{ print $3$4}'`cat >>/etc/my.cnf<> /etc/ld.so.conf.d/mysql-x86_64.conf<> /etc/profile < /tmp/mysql_sec_script<&1 | tee /root/mysql-install.logCheckAndDownloadFiles 2>&1 | tee -a /root/mysql-install.logInstallDependsAndOpt 2>&1 | tee -a /root/mysql-install.logInstallMySQL56 2>&1 | tee -a /root/mysql-install.logCheckInstall 2>&1 | tee -a /root/mysql-install.log




Part2:安装


下载完毕安装包,将脚本和安装文件放在/root目录下,执行上述脚本即可(如不是5.6.25版本,需修改脚本132、133行为对应版本号)

[root@HE3 ~]# sh -x mysql_auto_install.sh

如首次安装,请再次执行source /etc/profile

[root@HE3 ~]# source /etc/profile

验证

执行脚本后,输入用户名密码(默认MANAGER)后登录数据库成功。



至此,MySQL5.6安装完成。

对于以上关于1分钟安装部署MySQL5.6详解,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。

脚本 数据 数据库 目录 不同 二进制 参数 版本 自动化 专业 密码 技术 文件 特性 用户 知识 简介 部分 生产 下文 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 2017软件开发软件测试 有哪些快速上手的网络技术 黄浦区数据软件开发常见问题 在软件开发中成本-效益分析 文件上传到服务器工具 未来教育数据库公共基础知识 服务器被攻击怎么解决 数据库成绩计算 数据库中存储数据的特征 如何建立一套好的软件开发流程 通信网络安全技能竞赛 安吉 软件开发 北京 大龄 软件开发 阿里云服务器主机有什么用 服务器的热插拔电源好不好 服务器被黑什么恢复数据库 内蒙古诚信网络技术服务常见问题 明光常见软件开发技术问答知识 免费的日志服务器软件 服务器责任 网络安全海报简单的 hive查询当前数据库 2021年网络安全知识讲座直播 网络安全审查办公室设置 数据库最大允许连接数是多少 手机服务器怎么样打开 危害无线网络安全 未来已来互联网科技有限公司 如何预防网络安全事件 京东 数据库表的设计
0