#!/bin/bash#date:2019/1/20#by author zhangjia#install mysql#shell_name:mysql_auto_install.sh############################################set -echeck_ok() {    if [[ $? -ne 0  ]]    then        exit 111111    fi}yum  install -y vim gcc wget  cmake  ncurses-devel ncurses  gcc-c++ if !  id mysql ;then#if ! grep '^mysql:' /etc/passwd ; then    useradd -M -s /sbin/nologin mysqlfimysql_ver=mysql-5.5.60base_dir=/usr/local/mysqldata_dir=/data/mysqlcd /usr/src[[ -d ${data_dir}  ]] && /bin/mv ${data_dir} ${data_dir}_`date +%s`mkdir -p ${data_dir}chown -R mysql:mysql ${data_dir}[[ -e /usr/src/${mysql_ver}.tar.gz ]] || wget -c http://mirrors.sohu.com/mysql/MySQL-5.5/${mysql_ver}.tar.gz[[ -d ${base_dir}/${mysql_ver} ]] && rm -rf ${base_dir}/${mysql_ver}tar -xzf ${mysql_ver}.tar.gzcd ${mysql_ver}cmake  .  -DCMAKE_INSTALL_PREFIX=${base_dir} \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DMYSQL_DATADIR=${data_dir} \-DSYSCONFDIR=/etc -DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306 \-DWITH_XTRADB_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DWITH_EXTRA_CHARSETS=1 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DWITH_BIG_TABLES=1 \-DWITH_DEBUG=0

check_okmake -j4check_okmake -j4 installcheck_okcd ${base_dir}\cp support-files/my-large.cnf /etc/my.cnf\cp support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig --level 345 mysqld on${base_dir}/scripts/mysql_install_db --user=mysql --datadir=${data_dir} --basedir=${base_dir}echo "export PATH=${base_dir}/bin:\$PATH" >> /etc/profilecheck_okservice mysqld restartsource /etc/profilemysqladmin -u root password 123456netstat -natp|grep mysqldps aux|grep mysql

mysql编译参数解释:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55      Cmake预编译;
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock                 MYSQL Socket通信文件位置;
-DMYSQL_DATADIR=/data/mysql                         MYSQL数据存放路径;
-DSYSCONFDIR=/etc                                     配置文件路径;
-DMYSQL_USER=mysql                                 MYSQL运行用户;
-DMYSQL_TCP_PORT=                             MYSQL监听端口;
-DWITH_XTRADB_STORAGE_ENGINE=                 开启xtradb引擎支持;
-DWITH_INNOBASE_STORAGE_ENGINE=              开启innodb引擎支持;
-DWITH_PARTITION_STORAGE_ENGINE=             开启partition引擎支持;
-DWITH_BLACKHOLE_STORAGE_ENGINE=             开启blackhole引擎支持;
-DWITH_MYISAM_STORAGE_ENGINE=                 开启MyISAM引擎支持;
-DWITH_READLINE=                                 启用快捷键功能;
-DENABLED_LOCAL_INFILE=                         允许从本地导入数据;
-DWITH_EXTRA_CHARSETS=                         支持额外的字符集;
-DDEFAULT_CHARSET=utf8                             默认字符集UTF-;
-DDEFAULT_COLLATION=utf8_general_ci                 检验字符;
-DEXTRA_CHARSETS=all                             安装所有扩展字符集;
-DWITH_BIG_TABLES=                                 将临时表存储在磁盘上;
-DWITH_DEBUG=                                    禁止调试模式支持;
make                                                编译;
make install                                            安装。

十一、配置文件

[mysqld]                               //服务器端配置
datadir=/data/mysql                       //数据目录
socket=/var/lib/mysql/mysql.sock         //socket通信设置
user=mysql                             //使用mysql用户启动;
symbolic-links=                      //是否支持快捷方式;
log-bin=mysql-bin                      //开启bin-log日志;
server-id =                           //mysql服务的ID;
auto_increment_offset=                //自增长字段从固定数开始;
auto_increment_increment=                //自增长字段每次递增的量;
socket = /tmp/mysql.sock                 //为MySQL客户程序与服务器之间的本地通信套接字文件;
port             =                   //指定MsSQL监听的端口;
key_buffer       = 384M              //key_buffer是用于索引块的缓冲区大小;
table_cache      =                    //为所有线程打开表的数量;
sort_buffer_size = 2M                    //每个需要进行排序的线程分配该大小的一个缓冲区;
read_buffer_size = 2M                    //读查询操作所能使用的缓冲区大小。
query_cache_size = 32M                   //指定MySQL查询结果缓冲区的大小
read_rnd_buffer_size    = 8M             //改参数在使用行指针排序之后,随机读;
myisam_sort_buffer_size = 64M            //MyISAM表发生变化时重新排序所需的缓冲;
thread_concurrency      =               //最大并发线程数,取值为服务器逻辑CPU数量×2;
thread_cache            =               //缓存可重用的线程数;
skip-locking                            //避免MySQL的外部锁定,减少出错几率增强稳定性。
default-storage-engine=INNODB         //设置mysql默认引擎为Innodb;
#mysqld_safe config
[mysqld_safe]                          //mysql服务安全启动配置;
log-error=/var/log/mysqld.log              //mysql错误日志路径;
pid-file=/var/run/mysqld/mysqld.pid         //mysql PID进程文件;
key_buffer_size = 2048MB                //MyISAM表索引缓冲区的大小;
max_connections =                 //mysql最大连接数;
innodb_buffer_pool_size    = 2048MB    //InnoDB内存缓冲数据和索引大小;
basedir      = /usr/local/mysql55/          //数据库安装路径;
[mysqldump]                            //数据库导出段配置;
max_allowed_packet      =16M         //服务器和客户端发送的最大数据包;

十二、吴广科的配置案例

[mysqld]                           //服务器端配置

datadir=/data/mysql                    //数据目录

socket=/var/lib/mysql/mysql.sock       //socket通信设置 

user=mysql                         //使用mysql用户启动;

symbolic-links=                   //是否支持快捷方式;

log-bin=mysql-bin                  //开启bin-log日志;

server-id =                       //mysql服务的ID;

auto_increment_offset=            //自增长字段从固定数开始;

auto_increment_increment=             //自增长字段每次递增的量;

socket = /tmp/mysql.sock               //为MySQL客户程序与服务器之间的本地通信套接字文件;

port             =                 //指定MsSQL监听的端口;

key_buffer       = 384M            //key_buffer是用于索引块的缓冲区大小;

table_cache      =                  //为所有线程打开表的数量;

sort_buffer_size = 2M                  //每个需要进行排序的线程分配该大小的一个缓冲区;

read_buffer_size = 2M                  //读查询操作所能使用的缓冲区大小。

query_cache_size = 32M                 //指定MySQL查询结果缓冲区的大小

read_rnd_buffer_size    = 8M           //改参数在使用行指针排序之后,随机读;

myisam_sort_buffer_size = 64M          //MyISAM表发生变化时重新排序所需的缓冲;

thread_concurrency      =             //最大并发线程数,取值为服务器逻辑CPU数量×2;

thread_cache            =             //缓存可重用的线程数;

skip-locking                       //避免MySQL的外部锁定,减少出错几率增强稳定性。

default-storage-engine=INNODB         //设置mysql默认引擎为Innodb;

#mysqld_safe config        

[mysqld_safe]                      //mysql服务安全启动配置;

log-error=/var/log/mysqld.log          //mysql错误日志路径;

pid-file=/var/run/mysqld/mysqld.pid        //mysql PID进程文件;

key_buffer_size = 2048MB           //MyISAM表索引缓冲区的大小;

max_connections =              //mysql最大连接数;

innodb_buffer_pool_size  = 2048MB   //InnoDB内存缓冲数据和索引大小;

basedir      = /usr/local/mysql55/         //数据库安装路径;

[mysqldump]                          //数据库导出段配置;

max_allowed_packet      =16M       //服务器和客户端发送的最大数据包;

Normal
0

7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}

Mysql源码安装shell脚本的更多相关文章

  1. MySQL源码安装一键脚本

    #红色部分根据自己的需求来定义#!/bin/bash #卸载系统自带的Mysql /bin/rpm -e $(/bin/rpm -qa | grep mysql|xargs) --nodeps /bi ...

  2. maridb\mysql 源码安装,以10.1.26版本为例

    mysql 源码安装(mariadb 10.1.26) 1.环境部署 1 安装cmake 源码安装三部曲或者yum install cmake2安装依赖包yum install -y ncurses- ...

  3. mysql源码安装(5.1)

    下载mysql源码包并解压.wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73.tar.gztar -zxvf mysql-5 ...

  4. CentOS 7运维管理笔记(10)----MySQL源码安装

    MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统.本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程. 1.下载源码 选择使用北理工的镜像文件: ...

  5. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  6. Linux(CentOS或RadHat)下MySQL源码安装

    安装环境: CentOS6.3 64位 软件: Mysql-5.6 所需包: gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake  :MySQL 5.5开始,使用cmake进 ...

  7. mysql源码安装(包括5.5和5.7)

    1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...

  8. MySQL源码安装(centos)

    1.去MySQL官网下载源码包 地址:http://dev.mysql.com/downloads/mysql/ 下载完后需要检查文件的MD5,以确认是否从官网下载的原版本(以防被人篡改过该软件) 使 ...

  9. zabbix,php,nginx,mysql源码安装 神仙操作

    →软件包 mkdir /soft/ cd /soft ♦下载以下软件包 nginx-1.14.2.tar.gz wget http://nginx.org/download/nginx-1.14.2. ...

随机推荐

  1. 8-lvs-负载均衡

    注意: linux集群的时间需要一致 并发量在千万以上, 一般才会使用此种方式, 基于第四层进行ip欺骗, 使得nginx只接受上行流量, 下行流量通过具体执行的服务器直接返回 由章文嵩博士(淘宝) ...

  2. SpringBoot入门 (六) 数据库访问之Mybatis

    本文记录学习在SpringBoot中使用Mybatis. 一 什么是Mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 ...

  3. Tomcat,JBoss与JBoss Web

    最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考. 一.Tomcat Tomcat 服务器是免费开源的Web 应用服务器.支 ...

  4. 文件触发式实时同步 Rsync+Sersync Rsync+Inotify-tools

    一.概述 1.Rsync+Sersync 是什么? 1)Sersync使用c++编写基于inotify开发的触发机制: 2)Sersync可以监控所监听的目录发生的变化(包括新建.修改.删除),具体到 ...

  5. APP消息推送机制的实现(PUSH)

    出于好奇,想了解一下消息推送机制,在网上搜索到了几篇文章,感觉还不错,粘贴下来,等真正用到的时候再仔细研究 以下两篇是关于ios的 1.http://blog.csdn.net/xyxjn/artic ...

  6. Linux多线程 - 基本操作

    0. 线程 vs 进程 何为线程?线程即轻量级进程,如何理解轻量级这个概念? 我们知道,Linux的资源分为用户空间资源和内核空间资源: 用户空间资源:用来存放用户自定义的一些数据,用户可直接控制: ...

  7. [转] Lodop、C-Lodop使用说明及样例

    本文转自:http://www.lodop.net/LodopDemo.html Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现 复杂打印. ...

  8. iOS系统库头文件中NS_AVAILABLE相关

    转载: NS_AVAILABLE_IOS(5_0) 这个方法可以在iOS5.0及以后的版本中使用,如果在比5.0更老的版本中调用这个方法,就会引起崩溃. NS_DEPRECATED_IOS(2_0, ...

  9. 撩课-Web大前端每天5道面试题-Day25

    1.web前端开发,如何提高页面性能优化? 内容方面: .减少 HTTP 请求 (Make Fewer HTTP Requests) .减少 DOM 元素数量 (Reduce the Number o ...

  10. Unix 高手的10个好习惯

    引言 当您经常使用某个系统时,往往会陷入某种固定的使用模式.有时,您没有养成以尽可能最好的方式做事的习惯.有时,您的不良习惯甚至会导致出现混乱.纠正此类缺点的最佳方法之一,就是有意识地采用抵制这些坏习 ...