• MySQL入门02-MySQL二进制版本快速部署


    在上篇文章 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

    3.解压二进制版本的MySQL

    切换到根目录下,解压二进制版本的MySQL:

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

    4.添加组和用户

    添加组mysql和用户mysql:

    groupadd mysql
    useradd -g mysql mysql

    5.配置limits.conf

    vi /etc/security/limits.conf,在文件末尾添加:

    mysql   soft    nproc   2047
    mysql   hard    nproc   16384
    mysql   soft    nofile  1024
    mysql   hard    nofile  65536

    6.修改目录所有者

    修改MySQL软件所在目录拥有者:

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

    7.配置环境变量

    配置mysql用户的环境变量:
    需要su - mysql切换到mysql用户下,
    vi ~/.bash_profile

    export LANG=zh_CN.GB18030
    export PATH=/usr/local/mysql/bin:$PATH

    8.创建数据库服务

    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服务的快速部署。

    转:http://www.cnblogs.com/jyzhao/p/5551166.html

  • 相关阅读:
    vue项目按钮权限配置
    页面框架搭建模板可复用
    vue循环渲染复选框列表
    Vue项目网页版在浏览器中实现扫码识别功能(项目应用篇)
    基于51单片机的智能小车
    卡特兰数:翻折思想 翻折前后一一对应
    Redis之Info指令
    Redis的安全使用
    Redis中的近似LRU超出内存限制后的处理
    Redis主从同步
  • 原文地址:https://www.cnblogs.com/andy6/p/5789207.html
Copyright © 2020-2023  润新知