以下指令碼的手動安裝連線:
#/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 最近有人問我,乙個集群監控軟體的安裝檔案特別 詭異 說指令碼裡有 亂碼 卻能執行,是怎麼回事?我看了才發現這個東西原來是典型的指令碼巢狀 的模式,這裡就講講吧。反正好久...