mysql一鍵安裝指令碼---二進位制安裝
#!/bin/sh
MYSQL_TAB_FILE=""
MYSQL_REAL_DIR=""
INSTALL_DIR="/usr/local"
BASEDIR="$INSTALL_DIR"/mysql
DATADIR="$BASEDIR"/data
DEFAULT_STORAGE_ENGINE=""
ROOT_PWD=".mysql.$$"
trap "interrupt" 1 2 3 6 15
usage()
{
cat <<EOF
sh install.sh <MYSQL_TAB_FILE> <DEFAULT_STORAGE_ENGINE> <ROOT_PWD>
EOF
exit 1
}
cleanup(){
echo "Cleaning up..."
rm -f $command
}
clean_and_exit(){
cleanup
exit 1
}
interrupt(){
echo
echo "Aborting!"
echo
cleanup
stty echo
exit 1
}
check()
{
status=`whoami |awk '{print $1}'`
if [ $status == "root" ]
then
echo "the current logined user is root! "
else
echo "the current logined user is not root! please install with root. "
fi
if [ $# -ne 3 ];then
usage
fi
if [ ! -f $MYSQL_TAB_FILE ];then
echo "The file $MYSQL_TAB_FILE does not exists!"
exit 1
fi
if [ 0 -eq $(echo $MYSQL_TAB_FILE|grep "\.tar\.gz$"|wc -l) ];then
echo "The file $MYSQL_TAR_FILE does not format *.tar.gz!"
exit 1
fi
if [ ! -d $INSTALL_DIR ];then
echo "The directory $INSTALL_DIR does not exists!"
exit 1
fi
if [ $DEFAULT_STORAGE_ENGINE != 'INNODB' -a $DEFAULT_STORAGE_ENGINE != 'MYISAM' ]
then
usgae
fi
if [ -d $INSTALL_DIR/$MYSQL_REAL_DIR ];then
echo "The directory $INSTALL_DIR/$MYSQL_REAL_DIR exists! Mysql has been installed!"
exit 1
fi
if [ -d $INSTALL_DIR/mysql ];then
echo "The directory $INSTALL_DIR/mysql exists! Mysql has been installed!"
exit 1
fi
if [ -d $DATADIR ];then
echo "Create directory datadir $DATADIR..."
fi
}
init()
{
MYSQL_TAB_FILE=$1
MYSQL_REAL_DIR=`echo $MYSQL_TAB_FILE|sed 's/\.tar\.gz//g'`
DEFAULT_STORAGE_ENGINE=`echo $2|tr 'a-z' 'A-Z'`
ROOT_PWD=$3
}
install()
{
groupadd mysql
useradd -g mysql mysql
tar -zxvf $MYSQL_TAB_FILE -C $INSTALL_DIR
cd $INSTALL_DIR
ln -s $MYSQL_REAL_DIR mysql
cd mysql
script/mysql_install_db --user=mysql --datadir=$DATADIR --basedir=$BASEDIR
chown -R root:mysql .
chown -R mysql:mysql data
rm -f /etc/init.d/mysqld
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
if [ $DEFAULT_STORAGE_ENGINE = 'INNODB' ]
then
eval sed '/^#skip-networking$/a\basedir=$BASEDIR\\ndatadir=$DATADIR\\ncharacter-set-server=utf8\\ncollation-server=utf8_general_ci\\ninit_connect="SET NAMES 'utf8'"\\ndefault_storage_engine=InnoDB' ./support-files/my-large.cnf >/etc/my.cnf
elif [ $DEFAULT_STORAGE_ENGINE = 'MYISAM' ]
then
eval sed '/^#skip-networking$/a\basedir=$BASEDIR\\ndatadir=$DATADIR\\ncharacter-set-server=utf8\\ncollation-server=utf8_general_ci\\ninit_connect="SET NAMES 'utf8'"\\ndefault_storage_engine=InnoDB' ./support-files/my-large.cnf >/etc/my.cnf
fi
echo 'export PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile
export PATH=$PATH:/usr/local/mysql/bin
/etc/init.d/mysqld start
}
prepare_product_env(){
echo "UPDATE mysql.user SET Password=PASSWORD('$ROOT_PWD') WHERE User='root';" >$command
echo "DELETE FROM mysql.user WHERE User='';" >>$command
echo "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');" >>$command
echo "DROP DATABASE test;" >>$command
echo "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" >>$command
echo "FLUSH PRIVILEGES;" >>$command
mysql -uroot <$command
if [ $? -eq 0 ];then
echo "prepare product environment successfully!"
else
echo "prepare product environment failed!"
clean_and_exit
fi
}
init [email protected]
check [email protected]
install
prepare_product_env
cleanup
這個指令碼有很多需要改的地方,會繼續改進,主要是my.cnf這塊(這個應該根據os的記憶體,動態調整), 歡迎拍磚
相關推薦
mysql一鍵安裝指令碼---二進位制安裝
#!/bin/sh MYSQL_TAB_FILE="" MYSQL_REAL_DIR="" INSTALL_DIR="/usr/local" BASEDIR="$INSTALL_DIR"/mysql DATADIR="$BASEDIR"/data DEFAULT_STOR
MYSQL一鍵安裝的指令碼
系統環境:CENTOS7 MYSQL:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz MYSQL的安裝包的路徑:/shared/app/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz [[email p
k8s一鍵安裝指令碼(二進位制)
安裝案例:系統:Centos可以多臺Master(Master不能低於3臺)多臺Node此案例使用三臺Master兩臺Node,使用者名稱root,密碼均為123456 master 192.168.20.183 master 192.168.20.96 master 192.168.20.171 n
linux 下mysql一鍵安裝指令碼
修改名字為 mysql.sh #!/bin/bash GROUP_NAME=mysql USER_NAME=mysql MYSQLDB_HOME=/home/mysql/mysql MYSQLDB_DATA_HOME=/home/mys
MySql一鍵安裝shell腳本
mysql shell 一鍵安裝 #!/bin/bash #data:20171104 #QQ:654996537 #Name:Zhang #判斷是否是root用戶 if [ $(id -u) != "0" ]; then echo " Not the root user! Try usi
mysql一鍵安裝 各種版本操作
[[email protected] soft]# cat auto_install_mysql.sh #!/bin/sh set -x groupadd mysql useradd -g mysql mysql #mkdir /usr/local/mysql m
Apache/Nginx+PHP+MySQL一鍵環境安裝包
windows平臺 2.WINDOWS的NGINX+PHP+MYSQL+MEMCACHED的伺服器整合環境 LINUX 平臺 1.linux+apache/nginx+php+mysql lanmp/lamp/lnmp/lnamp一鍵安裝包 2.linux+a
jdk+tomcat+mysql一鍵安裝配置
安裝步驟如下 1.準備好免安裝版jdk 2.免安裝版tomcat,這個容易找 3.免安裝版MySQL,可以直接去官網上下載zip版。我的這個是5.5版本的,剛下載的時候壓縮包中是沒有my.ini檔案,需要自己將my-small.ini複製貼上然後將名字改為my.ini。
網狐Android客戶端一鍵發布並安裝到手機
oid post png info clas src log androi http 網狐Android客戶端一鍵發布並安裝到手機
mysql一鍵建立從庫指令碼
#!/bin/sh myuser=root mypass="root123" mysock=/data/3306/mysql.sock #main_path=/server/backup data_path=/server/backup [ ! -f $data_path ] &&
linux下 mysql 8.0.12版本二進位制安裝教程
mysq安裝步驟:①下載安裝包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz ②解壓縮下載的安裝包: ----例如:tar -Jxvf
MySQl編譯安裝與二進位制安裝介紹
MySQL介紹 MySQL是一個開放原始碼的小型關聯式資料庫管理系統。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。 MySQl資料庫分類 1)社群
MySQL 5.7.19多例項安裝(二進位制安裝模式)
MySQL可以通過在一臺伺服器上,部署執行多個MySQL服務程序,通過不同的socket監聽不同的服務埠來提供各自的服務。各個例項之間是相互獨立的,每個例項的datadir, port, socket, pid都是不同的 作業系統 redhat 7.4 資料庫
lnmp環境一鍵搭建及解除安裝
按上述命令執行後,會出現如下提示: (注:如果是Debian系統,會提示Where are your servers located? asia,america,europe,oceania or africa,這裡是選擇伺服器/VPS在哪個大洲,一般都是美國VPS,直接回車就行,如果是中國的,輸入asia,
win7下 一鍵ghost/一鍵還原軟體解除安裝後 刪除相關開機啟動選項
系統:win7 x64 安裝一鍵ghost/一鍵還原軟體,解除安裝後,發現vista一鍵還原 仍保留在開機選項裡,刪除方法: 1、下載win7優化大師,點選“系統設定”-->“啟動設定”-->“多系統選擇”-->選中專案,點選“刪除”; 2、進入終
【MYSQL】MySQL5.6.37二進位制安裝
最近有個專案要用到mysql 於是在mysql的論壇中找到了一個5.6.37版本的 下面介紹怎麼安裝和使用mysql 下載地址: 下面這個是我上傳到雲上的 1.下載並上傳到伺服器中,進行解壓,解壓到/usr/local下 [[email protected]
Linux For CentOS7常用服務一鍵配置指令碼
-----------------------------------------------第二次修正:更新最新專案地址-----------時間:2018年11月9日 15:50:34 做測試最麻煩的就是配置環境這塊,所以在經歷了很多折磨之後,我決定自己寫一個指令碼,整合一些常用服務的安裝與
一鍵切換指令碼
1.一鍵切換指令碼 第一步:cd ~ [email protected]:~$ cd ~ 第二步:mkdir -p aliyun 163 [email protected]:~$ mkdir -p aliyun 163 第三步:在aliyun 163目錄下vi
微服務一鍵啟動指令碼shell
etting####################################################### #程式程式碼陣列APPS=(cAssistantbussiness cAssistantbussinessweb) #程式名稱陣列 NAMES=(愛生活業務服務後臺 愛生活業務服務
基於CentOS7的PPTP VPN一鍵部署指令碼
指令碼已親測可用,環境是centos7.4 #!/bin/bash [ $(id -u) != "0" ] && { echo "Error: You must be root to run this script"; exit 1; } e