Mysql的5种安装方法:
1、yum/rpm安装(适合要求不高,并发不大,公司内部,企业内部一些应用场景)
2、编译安装(在线高并发业务)
3、二进制安装(编译安装后,使用自带工具打包,然后拷贝到相同平台进行安装,在线高并发)
4、定制rpm包,yum安装

mysql yum 安装各个版本yum源

http://repo.mysql.com/yum/

mysql 4.X和5.1.X 系列编译安装
useradd mysql -s /sbin/nologin -M

./configure \
--prefix=/application/mysql-5.1.73 \
--with-unix-socket-path=/application/mysql-5.1.73/tmp/mysql.sock \
--localstatedir=/application/mysql-5.1.73/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-chasets=complex \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-myslqd-ldflags=-all-static \
--with-client-ldflags=-all-static

make && make install

cd /application/
ln -s mysql-5.1.73/ mysql
mkdir -p /application/mysql/{data,tmp}
mkdir -p /var/lib/mysql
chown -R mysql:mysql /application/mysql
chown -R mysql:mysql /var/lib/mysql/

cp -a /application/mysql/share/mysql/mysql.server /etc/init/mysqld
[ -f /etc/my.cnf ]&&mv /etc/my.cnf{,.ori}
cp -a /application/mysql/share/mysql/my-small.cnf /etc/my.cnf
echo 'export PATH="/application/mysql/bin:/application/mysql/libexec:${PATH}"' >> /etc/profile
source /etc/profile
which mysql mysqld
which mysql_install_db

mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
/etc/init.d/mysqld start
chkconfig mysqld on
netstat -tunlp |grep 3306
lsof -nPi

ln -s /application/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock
ln -s /application/mysql/tmp/mysql.sock /tmp/mysql.sock

mysql 5.5 及以上版本依赖安装
yum install openssl openssl-devel cmake* libaio* ncurses* zlib* libxml* libmcrypt* libtool* -y
useradd mysql -s /sbin/nologin -M

mysql 5.5.X 系列编译
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.60 \
-DMYSQL_DATADIR=/application/mysql-5.5.60/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.60/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

make && make install

ln -s /application/mysql-5.5.60 /application/mysql
mkdir -p /application/mysql/{data,tmp}
chown -R mysql:mysql /application/mysql/

[ -f /etc/my.cnf ]&&mv /etc/my.cnf{,.ori}
cp -a /application/mysql-5.5.60/support-files/my-small.cnf /etc/my.cnf
cp -a /etc/my.cnf{,.`date +%F`}
echo 'export PATH=/application/mysql/bin:${PATH}' >> /etc/profile
source /etc/profile
which mysql

cd /application/mysql/scripts
./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
cp /application/mysql-5.5.60/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
chkconfig mysqld on
netstat -tunlp |grep 3306

mkdir -p /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
ln -s /application/mysql-5.5.60/tmp/mysql.sock /tmp/mysql.sock
ln -s /application/mysql-5.5.60/tmp/mysql.sock /var/lib/mysql/mysql.sock

mysql 5.6.X 系列编译安装
yum install openssl openssl-devel cmake* libaio* ncurses* zlib* libxml* libmcrypt* libtool* -y
useradd mysql -s /sbin/nologin -M

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=0 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

make && make install

cd /application/
ln -s mysql-5.6.40/ mysql
mkdir -p /application/mysql/tmp
mkdir -p /var/lib/mysql
chown -R mysql:mysql /application/mysql/
chown -R mysql:mysql /var/lib/mysql/
[ -f /etc/my.cnf ]&&mv /etc/my.cnf{,.ori}
cp -a /application/mysql/support-files/my-default.cnf /etc/my.cnf #改配置文件需要手动修改,不像5.5系列,这一步最好是上传事先已经准备好的配置文件
cp -a /application/mysql/support-files/mysql.server /etc/init.d/mysqld

echo 'export PATH="/application/mysql/bin:/application/mysql/scripts:${PATH}"' >> /etc/profile
source /etc/profile
which mysql mysql_install_db

mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
/etc/init.d/mysqld start
chkconfig mysqld on
netstat -tunlp |grep mysqld

ln -s /application/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock
ln -s /application/mysql/tmp/mysql.sock /tmp/mysql.sock

二进制安装:安装包名称中含有linux关键字,所谓二进制安装就是,直接解压后就能使用的安装包

下面以5.5.60二进制安装为例
yum install libaio* ncurses* zlib* libxml* libmcrypt* libtool* -y
useradd mysql -s /sbin/nologin -M

tar xvf mysql-5.5.60-linux2.6-x86_64.tar.gz
mkdir -p /application/mysql-5.5.60
cp -a mysql-5.5.60-linux2.6-x86_64/* /application/mysql-5.5.60/
cd /application
ln -s mysql-5.5.60/ mysql

cd /application/mysql/scripts
./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

mv /etc/my.cnf{,.ori}

cp -a /application/mysql/support-files/my-small.cnf /etc/my.cnf
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/support-files/mysql.server
cp -a /application/mysql/support-files/mysql.server /etc/init.d/mysqld

ll /etc/init.d/mysqld

mkdir -p /application/mysql/tmp
chmod 777 /application/mysql/tmp

/etc/init.d/mysqld start
chkconfig mysqld on

cp -a /etc/my.cnf{,.`date +%F`}
echo 'export PATH=/application/mysql/bin:${PATH}' >> /etc/profile
source /etc/profile
which mysql

mkdir -p /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
ln -s /application/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock
netstat -tunlp|grep mysql

多实例部署:
1、安装依赖

使用二进制方式安装mysql(也可使用编译安装):
下面以5.5.60二进制安装为例
yum install libaio* ncurses* zlib* libxml* libmcrypt* libtool* -y
useradd mysql -s /sbin/nologin -M

tar xf mysql-5.5.60-linux2.6-x86_64.tar.gz
mkdir -p /application/mysql-5.5.60
cp -a mysql-5.5.60-linux2.6-x86_64/* /application/mysql-5.5.60/
cd /application
ln -s mysql-5.5.60/ mysql

mkdir -p /data/{3306,3307}/data

分别在/data/3306和/data/3307目录下导入my.cnf配置文件
注意:2个配置文件中几个参数:
server-id
port
socket
log-error
log-bin
relay-log
relay_log_info_file
slow_query_log_file
不能相同,其中server-id和port一定不能相同
注意:必须在/data/{3306,3307}/my.cnf配置文件中指定数据库目录为datadir=/data/{3306,3307}/data,源码包中的配置文件没有这一条指令

另外在/data/3306和/data/3307目录下导入事先写好的启动服务的脚本:
相关脚本见单独的脚本文件

多实例启动文件的启动mysql服务本质:
mysqld_safe --default-file = /data/3306/my.cnf &> /dev/null &
mysqld_safe --default-file = /data/3307/my.cnf &> /dev/null &

多实例启动文件的停止mysql服务本质:
mysql -u root -pchina123 -S /data/3306/mysql.sock shutdown
mysql -u root -pchina123 -S /data/3307/mysql.sock shutdown

chown mysql:mysql -R /data/

sed -i ‘s#/usr/local/mysql#/application/mysql#g’ /application/mysql/bin/mysqld_safe #使用的是官方的二进制包,如果是自己事先编译并打包的二进制包,根据编译时的指定也可以不修改

export ‘export PATH=/application/mysql/bin:${PATH}’ >> /etc/profile
source /etc/profile

cd /application/mysql/scripts/ #这里注意因为是多实例,因此需要进行多次初始化
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql

使用前面的启动脚本分别启动两个实例

登录数据库进行测试:
msyql –uroot –pchina123 -S /data/3306/mysql.sock
msyql –uroot –pchina123 -S /data/3307/mysql.sock

注意:Mysql多实例本地管理时,必须加上-S选项指定sock文件

编译安装实现多实例:以5.6.40为例说明
yum install openssl openssl-devel cmake* libaio* ncurses* zlib* libxml* libmcrypt* libtool* -y
useradd mysql -s /sbin/nologin -M

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=0 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

make && make install

cd /application/
ln -s mysql-5.6.40/ mysql
mkdir -p /application/mysql/tmp
mkdir -p /var/lib/mysql
chown -R mysql:mysql /application/mysql/
chown -R mysql:mysql /var/lib/mysql/

mkdir -p /data/{3306,3307}/data
上传3306实例的配置文件my.cnf和启停脚本mysqld到/data/3306/目录下
上传3307实例的配置文件my.cnf和启停脚本mysqld到/data/3307/目录下
注意:如果使用源码包中的默认配置文件my.cnf中需要在配置文件中添加一条指令,datadir=/data/{3306,3307}/data指定数据库位置,另外配置文件中端口等配置参数需要根据不同的实例进行相应的修改

启动服务:
/data/{3306,3307}/mysqld start

netstat -tunlp|grep mysql

echo "/data/3306/mysqld start " >> /etc/rc.local
echo "/data/3307/mysqld start " >> /etc/rc.local

mysql系列安装的更多相关文章

  1. mysql系列-安装及服务启动

    一.window下的安装 详细见官网 https://dev.mysql.com/doc/refman/5.7/en/windows-installation.html 以 MySQL 5.1 免安装 ...

  2. 大数据系列(5)——Hadoop集群MYSQL的安装

    前言 有一段时间没写文章了,最近事情挺多的,现在咱们回归正题,经过前面四篇文章的介绍,已经通过VMware安装了Hadoop的集群环境,相关的两款软件VSFTP和SecureCRT也已经正常安装了. ...

  3. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  4. MySQL 系列(一)安装

    MySQL 系列(一)安装 以 Centos7 下安装 MySQL 5.6 为例. 一.环境准备 (1) 下载 下载地址: https://dev.mysql.com/get/Downloads/My ...

  5. MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决

    一.简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发.发布并支持的.有以下特点: MySQL是一种数据库管理系统. MySQL是一种关联数据库管理系统. MySQ ...

  6. MySQL系列——在windows上通过压缩包的方式安装mysql

    以下信息来源于: http://dev.mysql.com/doc/refman/5.6/en/windows-create-option-file.html 整个过程主要分为以下几个步骤:   一. ...

  7. MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等

    大家都知道MYSQL是开源的数据库,现在MYSQL在企业中的使用也越来越多,本人之前用过SQL SERVER数据库,因业务需要和自己的兴趣想要学习MYSQL,对于MYSQL,本人还是新手,请大家多多指 ...

  8. Mysql系列三:Centos6下安装Mysql和Mysql主从复制的搭建

    一.Centos6下安装Mysql 检测下系统有没有自带的mysql:yum list installed | grep mysql, 如果已经有的话执行命令yum -y remove mysql-l ...

  9. MySQL系列:Windows 下 MySQL 8.X 的安装

    之前一直使用的是MySQL5.7,但由于MySQL增加了一些新特性,所以选择了更新. 下载MySQL 进入MySQL官网下载地址,选择Windows (x86, 64-bit), ZIP Archiv ...

随机推荐

  1. 安装 statconn 使R与c#交互

    很久以前完成过,但是最近重新折腾发现全忘了,所以记下来. 1.安装 R 2.安装 R studio 3.去 http://rcom.univie.ac.at/download.html 下载 stat ...

  2. bzoj 5495: [2019省队联测]异或粽子【可持久化trie+大根堆】

    和bzoj4504差不多,就是换了个数据结构 像超级钢琴一样把五元组放进大根堆,每次取一个出来拆开,(d,l,r,p,v)表示右端点为d,左端点区间为(l,r),最大区间和值为v左端点在p上 关于怎么 ...

  3. Robotframework自动化系列:筛选结果数量统计

    Robotframework自动化系统:筛选结果数量统计 上一个节点已经可以随机选中某一个下拉框的值,我们在使用evaluate随机数的时候需要计算下拉选项总数,这时候我们是手工计算输入的:这时候如果 ...

  4. Luogu P1613跑路【倍增】By cellur925

    题目传送门 开始的思路:直接跑一遍最短路,得到最短路的那个值.然后把那个值进行一下二进制拆分,看能拆几次.(可能是受到了刚做过的题影响) ;i>=;i--) { <<i)>qw ...

  5. 关于ios7 以上版本 view被导航栏遮挡的问题 解决方案

    self.edgesForExtendedLayout = UIRectEdgeNone; 如果导航栏是默认带磨砂透明效果的,使用了edgesForExtendedLayout可能会出现导航栏变不透明 ...

  6. iOS 将navigationItem.titleView设置为自定义UISearchBar (Ficow实例讲解)

    这篇文章可以解决以下问题: 1.将searchBar设置为titleView后,无法调整位置的问题 : 2.searchBar的背景色无法设置为透明色的问题: 3.searchBar输入框内用户输入的 ...

  7. C/C++预处理

    C/C++编译系统编译程序的过程为预处理.编译.链接.预处理器是在程序源文件被编译之前根据预处理指令对程序源文件进行处理的程序.预处理器指令以#号开头标识,末尾不包含分号.预处理命令不是C/C++语言 ...

  8. Spring自动扫描注解类的冲突问题

    原文地址:http://www.blogjava.net/crazycy/archive/2014/07/12/415738.html Spring MVC项目中通常会有二个配置文件,spring-s ...

  9. Palindrome Partitioning LightOJ - 1044(回文串最小分割数,O(n^2)预处理子串是否回文)

    题意:将一个字符串分割成最少的字符串,使得分割出的每个字符串都是回文串.输出最小的分割数. 方法(自己的):先O(n^2)(用某个点或某个空区间开始,每次向左右扩展各一个的方法)处理出所有子串是否回文 ...

  10. AJPFX关于一维数组的声明与初始化

    一维数组:可以理解为一列多行.类型相同的数据,其中每个数据被称为数组元素:一维数组的声明方式:                type varName[]; 或 type[] varName;(推荐) ...