佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > mysql源碼安裝腳本分享

mysql源碼安裝腳本分享

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 呼叫中心市場需求 Linux服務(wù)器 地方門戶網(wǎng)站 AI電銷 服務(wù)外包 鐵路電話系統(tǒng) 百度競價排名

復(fù)制代碼 代碼如下:

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
clear;
SysName=""
SysBit=""
CpuNum=""
RamTotal=""
RamSwap=""
FileMax=""
MysqlVersion="Percona-Server-5.6.15-rel63.0"
MysqlLine="http://www.percona.com/downloads/Percona-Server-5.6/LATEST/source"
MysqlPath="/usr/local/mysql"
MysqlDataPath="$MysqlPath/data"
MysqlLogPath="/var/log/mysql"
MysqlConfigPath="$MysqlPath/conf"
MysqlPass="test123"
SYSTEM_CHECK(){
 [[ $(id -u) != '0' ]] echo '[Error] Please use root to install PUPPET.' exit;
 egrep -i "centos" /etc/issue SysName='centos';
 egrep -i "ubuntu" /etc/issue SysName='ubuntu';
 [[ "$SysName" == '' ]] echo '[Error] Your system is not supported this script' exit;
 SysBit='32' [ `getconf WORD_BIT` == '32' ] [ `getconf LONG_BIT` == '64' ] SysBit='64';
 CpuNum=`cat /proc/cpuinfo |grep 'processor'|wc -l`;
 RamTotal=`free -m | grep 'Mem' | awk '{print $2}'`;
 RamSwap=`free -m | grep 'Swap' | awk '{print $2}'`;
 FileMax=`cat /proc/sys/fs/file-max`
}
INSTALL_BASE_PACKAGES()
{
 SYSTEM_CHECK
 if [ "$SysName" == 'centos' ]; then
  echo '[yum-fastestmirror Installing] ************************************************** >>';
  yum -y install yum-fastestmirror;
  cp /etc/yum.conf /etc/yum.conf.lnmp
  sed -i 's:exclude=.*:exclude=:g' /etc/yum.conf
  for packages in gcc gcc-c++ openssl-devel ncurses-devel wget crontabs iptables bison cmake automake make readline-devel logrotate openssl; do
   echo "[${packages} Installing] ************************************************** >>";
   yum -y install $packages;
  done;
  mv -f /etc/yum.conf.lnmp /etc/yum.conf;
 else
  apt-get remove -y mysql-client mysql-server mysql-common;
  apt-get update;
  for packages in gcc g++ cmake make ntp logrotate cron bison libncurses5-dev libncurses5 libssl-dev openssl curl openssl; do
   echo "[${packages} Installing] ************************************************** >>";
   apt-get install -y $packages --force-yes;apt-get -fy install;apt-get -y autoremove;
  done;
 fi;
}
INSTALL_MYSQL(){
 INSTALL_BASE_PACKAGES
 cd /tmp/
 echo "[${MysqlVersion} Installing] ************************************************** >>";
 [ ! -f ${MysqlVersion}.tar.gz ] wget -c ${MysqlLine}/${MysqlVersion}.tar.gz
 tar -zxf /tmp/$MysqlVersion.tar.gz;
 cd /tmp/$MysqlVersion;
 groupadd mysql;
 useradd -s /sbin/nologin -g mysql mysql;
 cmake -DCMAKE_INSTALL_PREFIX=$MysqlPath  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=complex -DWITH_READLINE=ON -DENABLED_LOCAL_INFILE=ON -DWITH_INNODB_MEMCACHED=ON -DWITH_UNIT_TESTS=OFF;
 make -j $Cpunum;
 make install;
 for path in $MysqlLogPath $MysqlPath $MysqlConfigPath/conf.d $MysqlDataPath;do
  [ ! -d $path ] mkdir -p $path
  chmod 740 $path;
  chown -R mysql:mysql $path;
 done
# EOF **********************************
cat > $MysqlConfigPath/my.cnfEOF;
[mysqld]
user  = mysql
server-id = 1
pid-file = /var/run/mysqld.pid
socket  = /var/run/mysqld.sock
port  = 3306
basedir  = $MysqlPath
datadir  = $MysqlDataPath
bind-address = 0.0.0.0
skip-name-resolve
skip-external-locking
thread_concurrency = `expr $CpuNum \* 2`
max_connections = `expr $FileMax \* $CpuNum \* 2 / $RamTotal`
max_connect_errors = 30
table_open_cache = `expr $RamTotal + $RamSwap`
max_allowed_packet = `expr $RamTotal \* 2 / 1000`M
binlog_cache_size = 4M
max_heap_table_size = `expr $RamTotal / 100`M
sort_buffer_size = `expr $RamTotal \* 2 / 1000`M
join_buffer_size = `expr $RamTotal \* 2 / 1000`M
query_cache_size = `expr $RamTotal / 100`M
thread_cache_size = 30
thread_concurrency = `expr $CpuNum \* 4`
connect_timeout  = 1200
wait_timeout  = 1200
general_log = 1
general_log_file = $MysqlLogPath/mysql.log
log_error = $MysqlLogPath/mysql-err.log
slow_query_log = 1
slow_query_log_file = $MysqlLogPath/mysql-slow.log
long_query_time = 3
log_bin = $MysqlLogPath/mysql-bin
log_bin_index = $MysqlLogPath/mysql-bin.index
expire_logs_days = 7
max_binlog_size = `expr $(df -m $MysqlLogPath |awk 'NR==2{printf "%s\n",$4}') / 10000`M
default_storage_engine = InnoDB
innodb_buffer_pool_size = `expr $RamTotal / 100`M
innodb_log_buffer_size = 8M
innodb_file_per_table = 1
innodb_open_files = `expr $FileMax \* $CpuNum / $RamTotal`
innodb_io_capacity = `expr $FileMax \* $CpuNum / $RamTotal`
innodb_flush_method = O_DIRECT

!includedir $$MysqlConfigPath/conf.d
[mysqld_safe]
open_files_limit = `expr $FileMax / $CpuNum / 100`
[isamchk]
key_buffer  = 16M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
EOF
# **************************************
 $MysqlPath/scripts/mysql_install_db --user=mysql --defaults-file=$MysqlConfigPath/my.cnf --basedir=$MysqlPath --datadir=$MysqlDataPath;
# EOF **********************************
cat > /etc/ld.so.conf.d/mysql.confEOF
/usr/local/mysql/lib/mysql
/usr/local/lib
EOF
# **************************************
 ldconfig;
 if [ "$SysBit" == '64' ] ; then
  ln -s $MysqlPath/lib/mysql /usr/lib64/mysql;
 else
  ln -s $MysqlPath/lib/mysql /usr/lib/mysql;
 fi;
 cp $MysqlPath/support-files/mysql.server /etc/init.d/mysqld;
 chmod 775 /etc/init.d/mysqld;
 /etc/init.d/mysqld start;
 ln -s $MysqlPath/bin/mysql /usr/bin/mysql;
 ln -s $MysqlPath/bin/mysqladmin /usr/bin/mysqladmin;
 $MysqlPath/bin/mysqladmin password $MysqlPass;
 rm -rf $MysqlDataPath/test;
# EOF **********************************
mysql -hlocalhost -uroot -p$MysqlPass EOF
USE mysql;
DELETE FROM user WHERE user='';
UPDATE user set password=password('$MysqlPass') WHERE user='root';
DELETE FROM user WHERE not (user='root');
DROP USER ''@'%';
FLUSH PRIVILEGES;
EOF
# **************************************
 echo "[OK] ${MysqlVersion} install completed.";
}
INSTALL_MYSQL

您可能感興趣的文章:
  • 分享CentOS下MySQL最新版本5.6.13源碼安裝過程
  • mysql-5.5.28源碼安裝過程中錯誤總結(jié)
  • apache mysql php 源碼編譯使用方法
  • Linux下MySQL 5.5.8 源碼編譯安裝記錄分享
  • Mysql源碼學(xué)習(xí)筆記 偷窺線程
  • Mysql數(shù)據(jù)庫操作類( 1127版,提供源碼下載 )
  • 超級簡單的php+mysql留言本源碼
  • PHP源碼之 ext/mysql擴(kuò)展部分
  • 一個簡單的PHP&MYSQL留言板源碼
  • 落伍首發(fā) php+mysql 采用ajax技術(shù)的 省 市 地 3級聯(lián)動無刷新菜單 源碼

標(biāo)簽:銅川 黃山 蘭州 湘潭 崇左 仙桃 湖南 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql源碼安裝腳本分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    陇川县| 二连浩特市| 龙游县| 晴隆县| 兴文县| 镇远县| 达孜县| 商城县| 台安县| 广元市| 濮阳市| 库车县| 本溪市| 新干县| 安宁市| 民丰县| 精河县| 巨鹿县| 林口县| 界首市| 安阳县| 蒙城县| 金门县| 同江市| 陈巴尔虎旗| 黄山市| 辽宁省| 五峰| 华阴市| 祁阳县| 彭泽县| 穆棱市| 玛沁县| 南雄市| 太仓市| 贡觉县| 长治县| 新泰市| 凯里市| 原平市| 图们市|