#!/bin/bash
#author:zhangheng
#time:2020-5-12
#company:
#version:v1
####################################
#編譯安裝mysql 5.7.29
#os: centos7.8.2003
####################################
#第1步
#假定mysql的原始碼包已經上傳到linux伺服器裡的當前目錄下
#安裝解決軟體依賴關係的包
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel -y
#第2步:解壓src的rpm包
rpm -ivh mysql-community-5.7.29-1.el7.src.rpm
#第3步:進入/root/rpmbuild/sources目錄
cd /root/rpmbuild/sources
#第4步:新建使用者
useradd -r -s /sbin/nologin mysql
#第5步:新建資料目錄
mkdir -p /data/mysql
#第6步:修改資料目錄的擁有者為mysql
chown mysql:mysql /data/mysql
#第7步:解壓真正的原始碼包
tar xf mysql-5.7.29.tar.gz
tar xf boost_1_59_0.tar.bz2
#將boost包移動到mysql解壓的包裡
mv boost_1_59_0 mysql-5.7.29
#第8步:進入解壓後的目錄
cd mysql-5.7.29
#第9步:編譯前的配置
cmake -dcmake_install_prefix=/usr/local/sc_mysql -dmysql_datadir=/data/mysql -dsysconfdir=/etc -dmysql_user=mysql -ddefault_charset=utf8 -ddefault_collation=utf8_general_ci -dwith_boost=boost_1_59_0
#第10步:編譯,啟動4個程序去編譯,加快速度
make -j 4
#第11步:安裝編譯好的二進位制檔案到指定的目錄(即複製當前目錄下編譯好的二進位制檔案到當時指定的目錄)
make install
#第12步:備份原來的my.cnf配置檔案,然後清空這個檔案,這個檔案是mariadb的配置檔案,不是mysql的
cp /etc/my.cnf /root/mysql.cnf.bak
>/etc/my.cnf
#第13步:進入編譯安裝好的mysql的目錄--》安裝目錄
cd /usr/local/sc_mysql/bin
#執行mysqld這個程式,初始化我們的mysql,並且將日誌和臨時密碼重定向到/root/temp_password.txt檔案裡
./mysqld --initialize --user=mysql --basedir=/usr/local/sc_mysql/ --datadir=/data/mysql &>/root/temp_password.txt
#/etc/profile /etc/bashrc /root/.bashrc /root/.bash_profile
#修改path變數,讓linux系統裡有mysql相關的命令
path=$path:/usr/local/sc_mysql/bin
echo 'path=$path:/usr/local/sc_mysql/bin' >>/etc/bashrc
#第15步:就是拷貝mysqld的程式檔案到指定的目錄,方便後面設定mysqld服務開機啟動--》mysqld服務的啟動、停止、重啟的指令碼
cp ../support-files/mysql.server /etc/init.d/mysqld
#第16步:關閉防火牆和selinux
#關閉防火牆firewalld服務
service firewalld stop
#設定firewalld服務開機不啟動
systemctl disable firewalld
#臨時關閉selinux
setenforce 0
#永久修改selinux配置檔案裡的內容
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
#第17步:設定mysql開機啟動
chkconfig mysqld on
#第18步:啟動mysql
service mysqld start
#第19步:登入進去mysql並且重新設定密碼sanchuang123#
#從儲存的臨時密碼檔案裡,截取出臨時密碼,賦值給乙個變數temp_pwd
temp_pwd=$(cat /root/temp_password.txt |tail -1|awk '')
#給mysql設定密碼為sanchuang123#
mysql -uroot -p$temp_pwd --connect-expired-password -e "set password='sanchuang123#'"
echo '###### congratulation! your mysql has be installed successfully ######'
mysql5 6一鍵安裝指令碼
centos 7 x86 64 1511.iso mysql 5.6.29 linux glibc2.5 x86 64.tar.gz mysql install.sh指令碼 bin bash 輸入mysql壓縮檔案位址 filename 1 if f then 解壓mysql tar zxvf ec...
apache一鍵安裝指令碼
最近在玩apache,首先安裝apace要配置apr,apr util,pcre,而配置這些基本都是千篇一律。所謂程式設計師的精神就是減少重複性的勞動,下面請看我寫的apache安裝指令碼 這個指令碼我也放到我的github上 bin bash 需要sudo執行 dir pwd 要安裝pcre先要安...
nagios一鍵安裝指令碼
nagios具有非常強大的報警功能。還可以結合pnp實現時時繪製圖形。可以根據自己的需求定義 nagios的腳控型別,可以說監控服務,nagios已經做到了無所不能 下面給出nagios的安裝腳步。後期會慢慢更新如何編寫腳步定義企業nagios監控系統 腳步的安裝包是已經放到 usr local s...