Mysql 5.7 編譯安裝腳本

#!/bin/bash
#Automatic deployment mysql (自動部署 mysql)
#2019年7月1日
yum -y update
#Definition originallybr/>pass='NIcai@123'
#wget_boost=ftp://10.18.40.100/source-soft/boost_1_59_0.tar.gz
#wget_mysql=ftp://10.18.40.100/source-soft/mysql-5.7.19.tar.gz
#install download
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

#官網下載
#wget_boost=http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
wget_mysql=https://downloads.mysql.com/archives/get/file/mysql-5.7.19.tar.gz

#下載地方
wget $wget_boost
wget $wget_mysql

#install MySQL
groupadd mysql
useradd -r -g mysql -s /bin/flase mysql
tar xf mysql-5.7.19.tar.gz

#install boost
mv boost_1_59_0.tar.gz mysql-5.7.19
cd mysql-5.7.19/
tar xf boost_1_59_0.tar.gz

#To configure (配置)
cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
EOF
#compile(編譯)
make

#install
make install

#-DCMAKE_INSTALL_PREFIX:安裝路徑
#-DMYSQL_DATADIR:數據存放目錄
#-DWITH_BOOST:boost源碼路徑
#-DSYSCONFDIR:my.cnf配置文件目錄
#-DEFAULT_CHARSET:數據庫默認字符編碼
#-DDEFAULT_COLLATION:默認排序規則
#-DENABLED_LOCAL_INFILE:允許從本文件導入數據
#-DEXTRA_CHARSETS:安裝所有字符集

#Initialization(初始化)
cd /usr/local/mysql/
mkdir mysql-files
chown -R mysql.mysql /usr/local/mysql
#注意目錄名稱,此處爲自己自建的目錄

#將獲得的臨時密碼追加到passwd.txt中(出錯)
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
read -p "請輸入你的初始密碼: " passwd
echo "$passwd" >>/root/startpass.txt
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

#備份原配置文件
mv /etc/my.cnf /etc/cpmy.cnf
cat >/etc/my.cnf <<-EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
EOF

#啓動mysql
cp support-files/mysql.server /etc/init.d/mysqld
#添加mysql服務
chkconfig --add mysqld
#開機自啓動服務
chkconfig mysqld on
#service mysqld start
systemctl start mysqld
systemctl enable mysqld

#將mysql命令加入profile文件
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

mysqladmin -uroot -p''cat /root/startpass.txt'' password ''$pass'' >>/dev/null
if [ $? -eq 0 ]
then
echo "------------------------------------------"
echo -e "\033[34m 新的密碼爲: $pass \033[0m "
echo -e "\033[35m 數據庫創建成功!! \033[0m"
else
echo -e "\033[36m 修改密碼失敗 \033[0m"
fi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章