shell腳本一鍵部署mysql數據庫簡易版
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
最近經常要測試泛微ecology9在Centos 7.9部署教程,就用到了mysql8數據庫的安裝,每次都略麻煩,寫了一個shell腳本 基于虛擬機環境下,進行mysql數據庫的一鍵安裝腳本;
環境準備:vmware15.0.4,centos7.9,mysql8.0.31
一鍵安裝mysql腳本:
正確的食用教程,把下面的SHELL腳本復制保存為.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是否運行,如運行則殺掉進程 if [ "$mysql" = 0 ]; then echo "設備上未運行mysql數據庫" 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* #此區域需要根據實際情況進行修改 Path=/test #指定mysql壓縮包解壓的目錄,與PathNAME1相呼應 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 #創建mysql用戶 useradd -r -g mysql -s /bin/false mysql > /dev/null 2>&1 #安裝目錄設置為mysql用戶和組所有 chown -R mysql:mysql /usr/local/mysql > /dev/null 2>&1 #寫入配置文件 echo '[mysqld] ##### # 設置3306端口 port=3306 ##### # 設置mysql的安裝目錄 basedir=/usr/local/mysql ##### # 設置mysql數據庫的數據的存放目錄 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 ##### # 允許最大連接數 max_connections=10000 ##### # 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統 max_connect_errors=10 ##### # 服務端使用的字符集默認為UTF8 character-set-server=UTF8MB4 ##### # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB ##### # 默認使用“mysql_native_password”插件認證 default_authentication_plugin=mysql_native_password [mysql] ##### # 設置mysql客戶端默認字符集 default-character-set=UTF8MB4 [client] ##### #設置mysql客戶端連接服務端時默認使用的端口 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加入系統服務,及使用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超時時間設定 0為不限制 # Execute pre and post scripts as root PermissionsStartOnly=true #以root權限來啟動程序 # 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 使進程后臺運行 # 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 #重定向到系統服務目錄內 systemctl daemon-reload #刷新系統服務 systemctl enable mysqld.service --now #設置mysql開機自啟 #設置軟連接,可直接命令行mysql進入服務 ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql #停止正在運行的mysql,重新啟動。 systemctl restart mysqld.service
目前腳本內容就是以上部分,下面這部分手動去完成即可!
#輸入mysql -u用戶名 -p密碼 進入mysql數據庫中 mysql -uroot -p'hlafnHntA9(b' #修改mysql默認的root密碼 alter user 'root'@'localhost' identified by 'Laoliang.Net'; #添加遠程訪問用戶 CREATE USER 'root'@'%'IDENTIFIED BY 'Laoliang.Net'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges; #使用修改后的mysql進入數據庫 mysql -uroot -p'Laoliang.Net'
使用新密碼登錄mysql數據庫(Laoliang.Net則為密碼)
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助


免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。
您必須遵守我們的協議,如您下載該資源,行為將被視為對《免責聲明》全部內容的認可->聯系老梁投訴資源 LaoLiang.Net部分資源來自互聯網收集,僅供用于學習和交流,請勿用于商業用途。如有侵權、不妥之處,請聯系站長并出示版權證明以便刪除。
敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯系指正;轉載請注明出處: » shell腳本一鍵部署mysql數據庫簡易版