AImager

5.7开始社区版分boost版和非boost版,因为5.7以上运行都需要boost,所以两者的区别仅仅是是否需要安装boost,即boost版自带boost。那么选择前可以看看是否安装了boost,可以查看boost版本文件是否存在,一般位置在/usr/include/boost/version.hpp

源码安装

源码安装可以在source级别进行config,config的具体配置见MySQL Source-Configuration Options,以下列举较为重要的配置

  • base
    • DCMAKE_INSTALL_PREFIX = path: 安装目录
    • DMYSQL_DATADIR = path: 数据存储的目录
    • DMYSQL_UNIX_ADDR = sock_file: 用于监听的socket文件位置
    • DSYSCONFDIR = dir_path: 配置文件所在目录
    • DWITH_MYISAM_STORAGE_ENGINE = boolean: 是否开启MYISAM引擎,相应可开启INNOBASE
    • DDEFAULT_CHARSET = urf8: 默认编码
    • DDEFAULT_COLLATION = utf8_general_ci: 默认校验编码
    • DWITH_EXTRA_CHARSETS = all: 引入哪些额外的编码
    • DWITH_EXTRA_CHARSETS:STRING = all:
    • DMYSQL_TCP_PORT = 3306: 默认端口
    • DWITH_DEBUG = boolean: 是否开启调试
    • DENABLED_LOCAL_INFILE = boolean: 是否允许从客户端导入数据
  • boost
    • DWITH_BOOST = path: 如果已经安装boost,可指定所在boost目录
    • DDOWNLOAD_BOOST = boolean: 如果没有安装boost,指定后可在编译时自动下载boost
    • DDOWNLOAD_BOOST_TIMEOUT = seconds: 下载boost时超时时间
# 源码安装,带boost版本
cmake . -DCMAKE_INSTALL_PREFIX=/install_path/mysql-x.x.xx \
-DWITH_BOOST=boost \
-DMYSQL_DATADIR=/data_path/mysql \
-DMYSQL_UNIX_ADDR=/dev/shm/mysql-x.x.xx.sock \
-DSYSCONFDIR=/install_path/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DMYSQL_TCP_PORT=3306 \
-DWITH_DEBUG=0 && make -j 8 && sudo make -j 8 install

docker-compose

version: '2'

services:
  mysql:
    image: mysql:latest
    container_name: mysql
    volumes:
      - "/server/tmp_data/mysql:/var/lib/mysql"
      - "/server/etc/mysql:/etc/mysql/conf.d"
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=password