天天看點

CentOS7 MySQL資料庫一鍵安裝腳本

#!/bin/bash


exist=`rpm -qa | grep -i mysql-community-server`
echo $exist
if [ "$exist" ]; then
  echo "MySql已經安裝,退出。"
  exit 0;
fi
# 設定一個新密碼
newpasswd='password'
echo "開始安裝..."

echo '[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-connectors-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql

' > /etc/yum.repos.d/mysql-community.repo


yum -y install mysql-community-server && \
systemctl restart mysqld && \
sleep 5

oldpasswd=`grep 'A temporary password' /var/log/mysqld.log | awk -F"[email protected]: " '{ print $2}' |awk 'END {print}'` && \
echo "擷取初始密碼:$oldpasswd"

# 修改密碼 預設情況下新密碼需要包含大小寫字母、數字、符号
/usr/bin/mysqladmin -u root -p"$oldpasswd"  password "$newpasswd" && \
sleep 1
echo "新密碼:$newpasswd"
echo "開啟登入權限"

mysql -uroot -p"$newpasswd" -e " 
use mysql;
grant all privileges on *.* to 'root'@'%' identified by \"$newpasswd\" WITH GRANT OPTION;
flush privileges;" && \
sleep 1
echo "開通通路端口"
firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reload;

echo "修改配置"
echo "
character_set_server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
max_connections=1000
max_allowed_packet=1024M
group_concat_max_len=100000
skip-name-resolve
sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'
" >> /etc/my.cnf && \

echo "重新開機服務"
systemctl restart mysqld && \
sleep 5

# 這裡可以導入自定義的sql檔案
# echo "導入sql檔案"
# mysql -uroot -p"$newpasswd" < ./networkSafe_1.5.0.sql

echo "已完成。"
exit 0;