十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
下文內(nèi)容主要給大家?guī)?分鐘安裝部署MySQL5.6詳解,這里所講到的知識,與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術(shù)人員在與用戶接觸過程中,總結(jié)出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。
創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、淳安網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁面制作、商城開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為淳安等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Part1:寫在最前
自動化運維是一個DBA應(yīng)該掌握的技術(shù),其中,自動化安裝數(shù)據(jù)庫是一項基本的技能,本文中的安裝腳本已通過測試,作為生產(chǎn)庫來說沒有問題,鑒于每個公司存儲規(guī)劃要求不同,可以按需自行修改腳本。
由于源碼安裝費時費力,rpm包可定制性差,生產(chǎn)庫一般采用二進制安裝包,本文的安裝包為二進制安裝文件,本文使用的是mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz,如版本不同,替換第109、110行的tar命令后的mysql安裝包名即可

Part2:新特性簡介
本腳本默認(rèn)啟用5.6部分新特性
innodb_buffer_pool_dump_at_shutdown=1 它dump的不是數(shù)據(jù),是Id號
innodb_buffer_pool_load_at_startup=1
開啟這個兩個參數(shù)當(dāng)數(shù)據(jù)庫重啟后把這些熱數(shù)據(jù)重新加載回去
只有正常關(guān)庫才會dump熱數(shù)據(jù)塊,宕機和kill -9不會
部分參數(shù)按需整改,例如innodb_buffer_pool_size,本文給的512M,一般為內(nèi)存的50%-80%
來看一下腳本的具體情況
Part1:自動化腳本
[root@HE3 ~]# cat mysql_auto_install.sh
###### 二進制自動安裝數(shù)據(jù)庫腳本root密碼MANAGER將腳本和安裝包放在/root目錄即可###############
######數(shù)據(jù)庫目錄/usr/local/mysql############
######數(shù)據(jù)目錄/data/mysql############
######日志目錄/log/mysql############
######端口號默認(rèn)3306其余參數(shù)按需自行修改############
##################
#author:rrhelei@126.com#
##################
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:~/bin
export PATH
# Check if user is root
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install"
exit 1
fi
clear
echo "========================================================================="
echo "A tool to auto-compile & install MySQL 5.6.25 on Redhat/CentOS Linux "
echo "========================================================================="
cur_dir=$(pwd)
#set mysql root password
echo "==========================="
mysqlrootpwd="MANAGER"
echo -e "Please input the root password of mysql:"
read -p "(Default password: MANAGER):" mysqlrootpwd
if [ "$mysqlrootpwd" = "" ]; then
mysqlrootpwd="MANAGER"
fi
echo "==========================="
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):" isinstallmysql56
case "$isinstallmysql56" in
y|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"
exit
esac
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
#dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $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/issue
uname -a
MemTotal=`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 program
rpm -qa|grep mysql
rpm -e mysql
#yum -y remove mysql-server mysql mysql-libs
#yum -y remove php-mysql
#yum -y install yum-fastestmirror
#yum -y update
#Disable SeLinux
if [ -s /etc/selinux/config ]; then
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
fi
setenforce 0
}
#Installation of depend on and optimization options.
function InstallDependsAndOpt()
{
cd $cur_dir
cat >>/etc/security/limits.conf<> /etc/sysctl.conf
}
#Install MySQL
function InstallMySQL56()
{
echo "============================Install MySQL 5.6.22=================================="
cd $cur_dir
#Backup old my.cnf
#rm -f /etc/my.cnf
if [ -s /etc/my.cnf ]; then
mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bak
fi
#mysql directory configuration
groupadd mysql -g 512
useradd -u 512 -g mysql -s /sbin/nologin -d /home/mysql mysql
tar xvf /root/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
mv /root/mysql-5.6.25-linux-glibc2.5-x86_64 /usr/local/mysql
mkdir -p /data/mysql
mkdir -p /log/mysql
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /log
#edit /etc/my.cnf
SERVERID=`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.log
CheckAndDownloadFiles 2>&1 | tee -a /root/mysql-install.log
InstallDependsAndOpt 2>&1 | tee -a /root/mysql-install.log
InstallMySQL56 2>&1 | tee -a /root/mysql-install.log
CheckInstall 2>&1 | tee -a /root/mysql-install.log Part2:安裝
下載完畢安裝包,將腳本和安裝文件放在/root目錄下,執(zhí)行上述腳本即可(如不是5.6.25版本,需修改腳本132、133行為對應(yīng)版本號)
[root@HE3 ~]# sh -x mysql_auto_install.sh
如首次安裝,請再次執(zhí)行source /etc/profile
[root@HE3 ~]# source /etc/profile
執(zhí)行腳本后,輸入用戶名密碼(默認(rèn)MANAGER)后登錄數(shù)據(jù)庫成功。

至此,MySQL5.6安裝完成。
對于以上關(guān)于1分鐘安裝部署MySQL5.6詳解,如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。