在上篇文章 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. 【hihoCoder】1036 Trie图

    题目:http://hihocoder.com/problemset/problem/1036 给一个词典dict,词典中包含了一些单词words.要求判断给定的一个文本串text中是否包含这个字典中 ...

  2. Page

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  3. js ---- 时间格式

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  4. C# winfrom HttpWebRequest 请求获取html网页信息和提交信息

    string result =GetRequest("http://localhost:32163/DuoBao/ajax.aspx", "time=5"); ...

  5. Linux下的Finger指令

    Linux finger命令 Linux finger命令可以让使用者查询一些其他使用者的资料.会列出来的资料有: Login Name User Name Home directory Shell ...

  6. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  7. C#设计模式之外观

    IronMan之外观 接着上篇观察者内容的“剧情”,没看过的朋友也没关系,篇幅之间有衔接的关系但是影响不大. 需求: 为"兵工厂"提供各种支持,生产了各式各样的"Iron ...

  8. 【Paddy】数据库监控系列(一) - 监控理念

    很多时候,都和身边朋友聊两个问题,DBA的日常工作都是哪些?什么才是数据库方面最重要的? 我相信这两个问题的答案每个人都不会完全一样,我也是,所以这里只代表我的个人观点,并且以下的内容将围绕我的思路展 ...

  9. JS.中文乱码,Jsp\Servlet端的解决办法

    JS.中文乱码,Jsp\Servlet端的解决办法 2010-03-08 15:18:21|  分类: Extjs |  标签:encodeuricomponent  乱码  urldecoder   ...

  10. Atitit事件代理机制原理 基于css class的事件代理

    Atitit事件代理机制原理 基于css class的事件代理 1.1. 在javasript中delegate这个词经常出现,看字面的意思,代理.委托1 1.2. 事件代理1 1.3. 代理标准化规 ...