在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法。

源码安装虽然有着更加灵活和更加优化等诸多优势。但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很长。

对于一整套系统和硬件完全一样的机器,其实完全可以只在一台机器源码安装,然后打包好编译出来的二进制版本,拷贝到其他机器解压,直接进行一些配置即可。

本篇文章就来介绍一下二进制版本安装配置MySQL的整个过程。

1.上传二进制版本

首先要将上篇文章中5.1小节中,打包好的MySQL二进制版本`mysql-5.6.30.tar.gz`上传到/usr2目录下。
注:二进制版本的压缩包就有200M+以上的大小。

2.规划数据存放目录

这里系统是使用lvm管理的,vg名称vg00,添加一个名称为lvdata的lv,大小设定100G,然后在系统创建/data目录,将新建的lvdata挂载到/data目录下。具体操作如下:
```
--创建lvdata
lvcreate -L 100g -n lvdata vg00

--格式化为ext4文件系统

mkfs.ext4 /dev/mapper/vg00-lvdata

--添加为开机自动挂载的目录

vi /etc/fstab 加入一行:

/dev/mapper/vg00-lvdata /data ext4 defaults 1 2

--创建/data目录并挂载

mkdir -p /data && mount -a


<h1 id="3">3.解压二进制版本的MySQL</h1>
切换到根目录下,解压二进制版本的MySQL:

cd / && tar zxvf /usr2/mysql-5.6.30.tar.gz


<h1 id="4">4.添加组和用户</h1>
添加组mysql和用户mysql:

groupadd mysql

useradd -g mysql mysql


<h1 id="5">5.配置limits.conf</h1>
vi /etc/security/limits.conf,在文件末尾添加:

mysql soft nproc 2047

mysql hard nproc 16384

mysql soft nofile 1024

mysql hard nofile 65536


<h1 id="6">6.修改目录所有者</h1>
修改MySQL软件所在目录拥有者:

chown -R mysql.mysql /usr/local/mysql


<h1 id="7">7.配置环境变量</h1>
配置mysql用户的环境变量:
需要`su - mysql`切换到mysql用户下,
vi ~/.bash_profile

export LANG=zh_CN.GB18030

export PATH=/usr/local/mysql/bin:$PATH


<h1 id="8">8.创建数据库服务</h1>
**8.1 创建前准备:**

mkdir -p /data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}

chown -R mysql.mysql /data/mysqldata

su - mysql

$ vi /data/mysqldata/3306/my.cnf


**8.2 MySQL的my.cnf配置文件内容如下:**

[client]

port = 3306

socket = /data/mysqldata/3306/mysql.sock

The MySQL Server

[mysqld]

port = 3306

user = mysql

socket = /data/mysqldata/3306/mysql.sock

pid-file = /data/mysqldata/3306/mysql.pid

basedir = /usr/local/mysql

datadir = /data/mysqldata/3306/data

tmpdir = /data/mysqldata/3306/tmp

open_files_limit = 10240

explicit_defaults_for_timestamp

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Buffer

max_allowed_packet = 256M

max_heap_table_size = 256M

net_buffer_length = 8k

sort_buffer_size = 2M

join_buffer_size = 4M

read_buffer_size = 2M

read_rnd_buffer_size = 16M

Log

log-bin = /data/mysqldata/3306/binlog/mysql-bin

binlog_cache_size = 32M

max_binlog_cache_size = 512M

max_binlog_size = 512M

binlog_format = mixed

log_output = FILE

log-error = ../mysql-error.log

slow_query_log = 1

slow_query_log_file = ../slow_query.log

general_log = 0

general_log_file = ../general_query.log

expire-logs-days = 14

InnoDB

innodb_data_file_path = ibdata1:2048M:autoextend

innodb_log_file_size = 256M

innodb_log_files_in_group = 3

innodb_buffer_pool_size = 1024M

[mysql]

no-auto-rehash

prompt = (\u@\h)[\d]>_

default-character-set = gbk


**8.3 初始化MySQL数据库:**

$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql


**8.4 启动数据库服务:**

mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &


**总结:**其实在配置完二进制版本的MySQL后发现,整个过程跟源码安装并没有什么区别,只是省去了最麻烦和最耗时的MySQL源码的编译和安装过程。非常适合相同硬件和系统,对MySQL服务的快速部署。

MySQL入门02-MySQL二进制版本快速部署的更多相关文章

  1. Angular4+NodeJs+MySQL 入门-02 MySql操作类

    NodeJs操作MySQL类 此类封装了几个常用的方法:插入,更新,删除,查询,开启事务,事务提交,事务回滚等操作.有一这个类,操作MYSQL就方便多了. 批处理,存储过程等方法还没有添加,因为觉得目 ...

  2. centos7下安装MySQL 5.7.26 二进制版本(免安装绿色版)

    MySQL 5.7.26 二进制版本安装(免安装绿色版) 下载地址 https://downloads.mysql.com/archives/community/ https://cdn.mysql. ...

  3. Linux(CentOS 6.5) 下安装MySql 5.7.18 二进制版本粗浅攻略

    鉴于Linux和mysql因不同版本,安装方式也不同,所以在阅读本攻略前,请确保各位同学的版本和我的Linux.MySql 版本一致. 如果不一致,只能参考. 我的版本: Linux CentOS 6 ...

  4. 如何利用脚本实现MySQL的快速部署以及一机多实例的部署

    MySQL有三个版本:二进制,源码包,RPM. 下面讲讲二进制包的安装过程 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这 ...

  5. 在 CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  6. Python MySQL 入门

    章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...

  7. 2.快速部署MySQL主从复制

      1.快速部署MySQL主从复制 [root@mysql ~]# mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave ...

  8. 快速入门系列--MySQL

    一直说要好好复习一下Mysql都木有时间,终于赶上最近新购买了阿里云,决定使用CentOS去试试.NET Core等相关的开发,于是决定好好的回顾下这部分知识,由于Mysql的数据库引擎是插件式的,对 ...

  9. 二进制方式快速安装MySQL数据库命令集合

    二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...

随机推荐

  1. nodejs与v8引擎

    Motivation JavaScript 是一款拥有「自动垃圾回收」功能的编程语言. 市面上具有这样功能的语言,一般都是拥有相对应的虚拟机的,像 Java的JVM ,C#的CLR ,PHP的Zend ...

  2. 【实战Java高并发程序设计 1】Java中的指针:Unsafe类

    是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...

  3. R语言:常用函数【转】

    数据结构 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量list:列表 data.frame:数据框 c:连接为向量或列表len ...

  4. 利用SSH Filesystem实现远程文件系统

         远程文件系统的访问有很多种不同的实现方式,一些常见的连接方式比其它特定情况下的更有用.最著名的一个例子就是微软的通用互联网文件系统(CIFS),它可以容许微软Windows"映射网 ...

  5. 深圳电信光纤用户必备:简单破解中兴ZXA10 F460光电猫,实现WIFI和自动拨号功能

    最近搬家,ADSL转成光纤宽带,下载速度非常给力.原来的ADSL路由器派不上用场,电信的安装人员也给开通了wifi功能,只是wifi无法上网,而且拨号一定需要用电脑连网线进行拨号.以前是直接把拨号账户 ...

  6. Linux RAID卡优化

    200 ? "200px" : this.width)!important;} --> 介绍 我们的生产服务器经常会做raid存储,但是单单做了raid就能保证性能高效和数据 ...

  7. [Oracle](不会的是三炮)把状态列表作为存储过程参数这件小事

    抱歉用了这么渣的标题,其实是一个很简单而且很常见的需求:假设我们有一个学生表,它有一个状态字段: create table T_STU ( STU_ID ) not null, NAME ), COD ...

  8. Android EditText悬浮在输入法之上

    Android EditText悬浮在输入法之上 使用 android:windowSoftInputMode="adjustResize" 会让界面整体被顶上去,很多时候我们不需 ...

  9. react UI交互 简单实例

    <body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...

  10. Java学习笔记(03)

    一.回顾运算符: 一.控制语句 1.1 顺序结构 (最常见的) 特点:代码从上往下依次执行