广告
返回顶部
首页 > 资讯 > 数据库 >mysql源码安装脚本分享
  • 716
分享到

mysql源码安装脚本分享

脚本源码mysql 2022-06-04 21:06:03 716人浏览 独家记忆
摘要

#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHclear;Sys


#!/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.cnf<<EOF;
[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 "%sn",$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.conf<<EOF
/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

您可能感兴趣的文档:

--结束END--

本文标题: mysql源码安装脚本分享

本文链接: https://www.lsjlt.com/news/17923.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql源码安装脚本分享
    #!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHclear;Sys...
    99+
    2022-06-04
    脚本 源码 mysql
  • mysql源码安装的脚本分享
    这篇文章主要讲解了“mysql源码安装的脚本分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql源码安装的脚本分享”吧!代码如下:#!/bin/bashPATH=/bin:/sbin...
    99+
    2023-06-09
  • MySQL自动安装脚本分享
    本篇内容介绍了“MySQL自动安装脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • 源码包编译安装MySQL 5.6脚本
    源码包编译安装MySQL5.6脚本,一个机器安装两个MySQL数据库,编译时指定端口,安装路径和socket文件位置。 安装完成的MySQL安装文件可以打包复制到别的机器使用,在别的机器使用时候只...
    99+
    2022-10-18
  • vtune自动安装脚本分享
    #!/bin/bash#!/usr/bin/expect -f#!/usr/bin/env bashyum install -y expect wgetcd /rootwget http://172.16....
    99+
    2022-06-04
    脚本 vtune
  • 最新热门脚本Autojs源码分享
    今天给大家分享一个包含最新50个热门脚本合集的源码,目前包括:矿牛守卫赚、热血星际、捉妖特工队、体重保卫战、炎兔、魔兽红包群、横扫太空、疯狂合体鸭、动物星球、猜猜什么歌等最热门的脚本...
    99+
    2022-11-12
  • mysql二进制文件安装配置脚本分享
    这篇文章主要介绍“mysql二进制文件安装配置脚本分享”,在日常操作中,相信很多人在mysql二进制文件安装配置脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysq...
    99+
    2022-10-18
  • linux安装php扩展脚本分享
    测试环境:ubuntu 12.04 php 5.3.x #!/bin/bash#Program:# Accomplish to expand the specified function only one...
    99+
    2022-06-04
    脚本 linux php
  • MySQL5.6一键编译安装脚本分享
    本篇内容主要讲解“MySQL5.6一键编译安装脚本分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL5.6一键编译安装脚本分享”吧! ...
    99+
    2022-10-18
  • Linux中源码包安装MySQL的shell脚本怎么写
    本篇文章给大家分享的是有关Linux中源码包安装MySQL的shell脚本怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。#!/bin/b...
    99+
    2022-10-18
  • Linux中PHP的源码安装shell脚本
    #!/bin/bash#安装PHPrpm -e php php-cli php-ldap php-common php-mysql --nodepsyum -y install zlib-devel lib...
    99+
    2022-10-18
  • mysql的备份脚本分享
    本篇内容介绍了“mysql的备份脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/bas...
    99+
    2022-10-18
  • mysql脚本安装的示例分析
    这篇文章主要为大家展示了“mysql脚本安装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql脚本安装的示例分析”这篇文章吧。 ...
    99+
    2022-10-18
  • shell脚本源码安装nginx的详细过程
    SHELL概念 SHELL是什么?SHELL是linux内核跟用户之间沟通的桥梁; SHELL也是一个命令解释器,用户可以输入命令到SHELL,SHELL将命令传递给Linux内核,内核处理完毕,返回给...
    99+
    2022-06-04
    shell脚本安装nginx shell安装nginx
  • 源码安装apache脚本部署过程详解
    目录源码安装apache脚本部署源码安装apache脚本部署 [root@localhost ~]# ls anaconda-ks.cfg httpd.tar.xz [root@localhost ~]# tar xf...
    99+
    2022-09-22
  • 源码安装mysql
    创建mysql组:groupadd mysql创建mysql用户并赋予这个mysq组中,不创建家目录,不允许用户登录。(因为刚刚创建的mysql是虚拟用户,所以不允许登录)useradd mysql -g ...
    99+
    2022-10-18
  • MySQL源码安装
    1,下载源码安装包 http://dev.mysql.com/downloads/mysql/        &nb...
    99+
    2022-10-18
  • MySQL源码安装的示例分析
    这篇文章主要介绍MySQL源码安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 操作系统:CentOS 6.7MySQL版本:5.6.30 ·  ...
    99+
    2022-10-18
  • shell脚本源码安装nginx的过程是什么
    本篇内容主要讲解“shell脚本源码安装nginx的过程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“shell脚本源码安装nginx的过程是什么”吧!SHELL概念SHELL是什么?SH...
    99+
    2023-06-25
  • 使用Shell脚本实现源码安装MySQL5.1.73方法
    下面讲讲关于使用Shell脚本实现源码安装MySQL5.1.73方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完使用Shell脚本实现源码安装MySQL5.1.73方法这篇文...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作