zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    训练总结
    图论--最短路--SPFA模板(能过题,真没错的模板)
    图论--最短路-- Dijkstra模板(目前见到的最好用的)
    The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)
    关于RMQ问题的四种解法
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 K题 center
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 XKC's basketball team
    The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 D Carneginon
    ZOJ 3607 Lazier Salesgirl (枚举)
    ZOJ 3605 Find the Marble(dp)
  • 原文地址:https://www.cnblogs.com/andy6/p/5789207.html
Copyright © 2011-2022 走看看