shell 指令碼二進位制安裝mysql

2022-06-16 02:54:09 字數 2991 閱讀 4063

以下指令碼的手動安裝連線:

#/bin/bash

#指令碼安裝 mysql,上傳安裝包至 /root

cd /root

#安裝日誌

mysql_log=/root/mysql.log

# mysql 安裝包名

mysql_package=mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

# 解壓 mysql 安裝包後資料夾名稱

mysql_package_dir=mysql-8.0.19-linux-glibc2.12-x86_64

#存放資料庫的目錄

mysql_dbdata=/usr/local/mysql/data

#centos6 檢查 mysql

if [ `rpm -qa | grep -i mysql | wc -l ` -ge 1 ]

then

rpm -qa | grep -i mysql >> uninstall_mysql.txt

file=$(cat uninstall_mysql.txt)

for name in $file

dorpm -e --nodeps $name

done

firm -rf uninstall_mysql.txt

#centos7 檢查 mariadb

if [ `rpm -qa | grep -i mariadb | wc -l ` -ge 1 ]

then

rpm -qa | grep -i mariadb >> uninstall_mariadb.txt

file=$(cat uninstall_mariadb.txt)

for name in $file

dorpm -e --nodeps $name

done

firm -rf uninstall_mariadb.txt

#新增 mysql 使用者

useradd -r -s /sbin/nologin mysql

#解壓 mysql_package 至 /usr/local

tar -xvf $mysql_package -c /usr/local/

cd /usr/local

#建立軟連線

ln -s $mysql_package_dir mysql

#建立 mysql 資料存放目錄

mkdir $mysql_dbdata

#修改資料夾所屬者

chown -r mysql:mysql mysql

chown -r mysql:mysql mysql/

#新增環境變數路徑,使生效

echo path=/usr/local/mysql/bin:$path > /etc/profile.d/mysql.sh

source /etc/profile.d/mysql.sh

#生成資料庫,預設生成密碼列印在螢幕上,登入時會用到,記得儲存

cd /usr/local/mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=$mysql_dbdata

#建立rsa private key

bin/mysql_ssl_rsa_setup --datadir=$mysql_dbdata

#生成配置檔案

if [ -e /etc/my.cnf ]

then

mv /etc/my.cnf /etc/my.cnf.bak

rm -rf /etc/my.cnf

fitouch /etc/my.cnf

echo "[client]" >> /etc/my.cnf

echo "port = 3306" >> /etc/my.cnf

echo "default-character-set=utf8" >> /etc/my.cnf

echo "[mysqld]" >> /etc/my.cnf

echo "character_set_server=utf8" >> /etc/my.cnf

echo "init_connect='set names utf8'" >> /etc/my.cnf

echo "basedir=/usr/local/mysql" >> /etc/my.cnf

echo "datadir=$mysql_dbdata" >> /etc/my.cnf

echo "socket=/tmp/mysql.sock" >> /etc/my.cnf

echo "[mysqld_safe]" >> /etc/my.cnf

echo "lower_case_table_names = 1" >> /etc/my.cnf

echo "log-error=/var/log/mysqld.log" >> /etc/my.cnf

echo "pid-file=/var/run/mysqld/mysqld.pid" >> /etc/my.cnf

#設定啟動服務

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

#新增啟動服務  

chkconfig --add mysqld

#啟動服務

service mysqld start

#檢視服務

systemctl status mysqld >> $mysql_log

過程截圖:

中間省略

檢視mysqld狀態:

二進位制安裝mariadb的指令碼

bin bash func pwd pwd echo e t使用者mysql已建立 echo e t 1正在解包 tar xvf 1 c usr local dev null echo e t 1解包完成!cd usr local ln s mariadb mysql dev null cd usr...

二進位制如何安裝mysql 二進位制安裝mysql

1.建立安裝目錄 wget 3.解壓二進位製包 root db01 tar xf mysql 5.6.40 linux glibc2.12 x86 64.tar.gz 4.移動解壓目錄 5.做mysql軟連線 6.建立mysql使用者 root db01 useradd mysql s sbin n...

shell指令碼中嵌入二進位制檔案

2011年02月28日 16 39 00 ssmile 閱讀數 3836 標籤 指令碼 shell linux 加密 解密 gcc 最近有人問我,乙個集群監控軟體的安裝檔案特別 詭異 說指令碼裡有 亂碼 卻能執行,是怎麼回事?我看了才發現這個東西原來是典型的指令碼巢狀 的模式,這裡就講講吧。反正好久...