shell腳本一鍵部署mysql數(shù)據(jù)庫簡易版

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

最近經(jīng)常要測試泛微ecology9在Centos 7.9部署教程,就用到了mysql8數(shù)據(jù)庫的安裝,每次都略麻煩,寫了一個shell腳本 基于虛擬機(jī)環(huán)境下,進(jìn)行mysql數(shù)據(jù)庫的一鍵安裝腳本;

環(huán)境準(zhǔn)備:vmware15.0.4,centos7.9,mysql8.0.31

一鍵安裝mysql腳本:

正確的食用教程,把下面的SHELL腳本復(fù)制保存為.sh即可;

 #!/bin/bash/

 #定義變量
mysql="ps -ef | grep mysql | grep -v grep | wc -l "
mysqlPID=" ps -ef | grep mysql | grep -v grep | awk '{print $2}' "
#查詢檢測mysql是否運行,如運行則殺掉進(jìn)程
if [ "$mysql" = 0 ]; then
    echo "設(shè)備上未運行mysql數(shù)據(jù)庫"
fi

if [ "$mysql" = 1 ]; then
    kill -9 $mysqlPID
fi
##### #刪除舊版mysql包
rpm -qa | grep mariadb|xargs rpm -e --nodeps >/dev/null 2>&1
rm -rf /usr/bin/mysql
rm -rf /usr/local/mysql
rm -rf /usr/lib/systemd/system/mysql*

#此區(qū)域需要根據(jù)實際情況進(jìn)行修改

Path=/test
#指定mysql壓縮包解壓的目錄,與PathNAME1相呼應(yīng)

PathNAME=/test/mysql-8.0.31-el7-x86_64.tar.gz
#此路徑為mysql tar包路徑

PathNAME1=/test/mysql-8.0.31-el7-x86_64
#此路徑為解壓完成的路徑

#刪除mysql用戶和組
userdel -r mysql >/dev/null 2>&1
groupdel mysql   >/dev/null 2>&1

groupadd mysql   >/dev/null 2>&1
#解壓mysql安裝包
tar -zxf  $PathNAME -C $Path

#將解壓的安裝包移動到安裝目錄
mv $PathNAME1  /usr/local/mysql
mkdir /usr/local/mysql/data

#創(chuàng)建mysql用戶
useradd -r -g mysql -s /bin/false mysql >  /dev/null 2>&1

#安裝目錄設(shè)置為mysql用戶和組所有
chown -R mysql:mysql /usr/local/mysql   > /dev/null 2>&1

#寫入配置文件
echo '[mysqld]
##### # 設(shè)置3306端口
port=3306
##### # 設(shè)置mysql的安裝目錄
basedir=/usr/local/mysql
##### # 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=/usr/local/mysql/data

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
##### # 允許最大連接數(shù)
max_connections=10000
##### # 允許連接失敗的次數(shù)。這是為了防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫系統(tǒng)
max_connect_errors=10
##### # 服務(wù)端使用的字符集默認(rèn)為UTF8
character-set-server=UTF8MB4
##### # 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine=INNODB
##### # 默認(rèn)使用“mysql_native_password”插件認(rèn)證
default_authentication_plugin=mysql_native_password
[mysql]
##### # 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=UTF8MB4
[client]
##### #設(shè)置mysql客戶端連接服務(wù)端時默認(rèn)使用的端口
port=3306
default-character-set=UTF8MB4' > /etc/my.cnf

#初始化mysql,需記住初始密碼
cd /usr/local/mysql/
./bin/mysqld --initialize --console &>passwd.txt
tem_passwd=$(cat /usr/local/mysql/passwd.txt |grep "temporary"|awk '{print $NF}')
chown -R mysql:mysql /usr/local/mysql
echo "初始密碼為:'$tem_passwd'"
echo '初始密碼已保存至/root/password.txt中'
echo "$tem_passwd" > /root/password.txt

#將mysql加入系統(tǒng)服務(wù),及使用systemctl管理
echo '[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

PIDFile=/usr/local/mysql/data/mysqld.pid

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0   #systemd的service超時時間設(shè)定 0為不限制

# Execute pre and post scripts as root
PermissionsStartOnly=true   #以root權(quán)限來啟動程序
# Needed to create system tables
#ExecStartPre=/usr/bin/mysqld_pre_systemd

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid
#注意這里要加上 --daemonize 使進(jìn)程后臺運行

# Use this to switch malloc implementation
#EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 5000

Restart=on-failure
# 故障時重啟
RestartPreventExitStatus=1

PrivateTmp=false' > /usr/lib/systemd/system/mysqld.service
#重定向到系統(tǒng)服務(wù)目錄內(nèi)

systemctl daemon-reload
#刷新系統(tǒng)服務(wù)
systemctl enable mysqld.service --now
#設(shè)置mysql開機(jī)自啟

#設(shè)置軟連接,可直接命令行mysql進(jìn)入服務(wù)
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#停止正在運行的mysql,重新啟動。
systemctl restart mysqld.service

目前腳本內(nèi)容就是以上部分,下面這部分手動去完成即可!

#輸入mysql -u用戶名 -p密碼 進(jìn)入mysql數(shù)據(jù)庫中
mysql -uroot -p'hlafnHntA9(b'

#修改mysql默認(rèn)的root密碼
alter user 'root'@'localhost' identified by 'Laoliang.Net';
#添加遠(yuǎn)程訪問用戶
CREATE USER 'root'@'%'IDENTIFIED BY 'Laoliang.Net';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
#使用修改后的mysql進(jìn)入數(shù)據(jù)庫
mysql -uroot -p'Laoliang.Net'

使用新密碼登錄mysql數(shù)據(jù)庫(Laoliang.Net則為密碼)

mysql_shell壓縮包文件下載

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » shell腳本一鍵部署mysql數(shù)據(jù)庫簡易版

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情