Inception是集审核、执行、回滚于一体的一个SQL自动化运维系统,基于MySQL代码修改,官方文档地址:https://mysql-inception.github.io/inception-document/
一、Inception部署篇
官方部署说明:https://mysql-inception.github.io/inception-document/install/
我的环境:centos7.4
我的安装步骤:
1. 安装依赖
yum -y install gcc gcc-c++ make cmake openssl-devel ncurses-devel perl unzip m4 MySQL-python perl-ExtUtils-Embed
(Ubuntu下执行apt-get install cmake libncurses5-dev libssl-dev g++ m4,没有perl的话也要安装)
2. 安装bison,官方建议2.6版本之前
wget -c https://static.saintic.com/download/inception/bison-2.5.1.tar && tar xf bison-2.5.1.tar && cd bison-2.5.1 && ./configure && make && make install
3. 安装percona-toolkit,在线修改大表用的工具
wget -c https://static.saintic.com/download/inception/percona-toolkit-2.2.20.tar.gz && tar zxf percona-toolkit-2.2.20.tar.gz && cd percona-toolkit-2.2.20 && perl Makefile.PL && make install
4. 安装主程序inception
git clone https://github.com/mysql-inception/inception && cd inception
编译inception可以用官方的方法,sh inception_build.sh,也可以cmake编译,我这里用cmake演示(因为后面docker编译用cmake没有问题)。
cmake -DWITH_DEBUG=OFF -DCMAKE_INSTALL_PREFIX=/Inception-DMYSQL_DATADIR=/Inception/data-DWITH_SSL=bundled -DCMAKE_BUILD_TYPE=RELEASE -DWITH_ZLIB=bundled -DMY_MAINTAINER_CXX_WARNINGS="-Wall -Wextra -Wunused -Wno-dev -Wwrite-strings -Wno-strict-aliasing -Wno-unused-parameter -Woverloaded-virtual" -DMY_MAINTAINER_C_WARNINGS="-Wall -Wextra -Wno-dev -Wunused -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement" && make && make install
注意红色部分,编译好的程序目录即可,可执行命令在这目录的bin下。
5. 启动
/Inception/bin/Inception --defaults-file=/etc/inception.cnf #此配置文件参见底部附录
二、Docker镜像
上述过程已经被我打包成镜像,基于centos7.4,可以直接使用,镜像支持OSC,默认配置文件为官方推荐配置(参见底部附录),可以自定义挂载覆盖/etc/inception.cnf,默认了以下参数可以设置环境变量:
1. 拉取镜像
2. 运行镜像(可以跳过第一步,此处假定远程备份地址127.0.0.1,端口3306,账号root,密码123456)
查看日志:
The inception listens for 0.0.0.0:6669
2018-07-19 03:40:15 0 [Note] Welcome to use Inception2.1.50
2018-07-19 03:40:15 6 [Note] Server hostname (bind-address): '0.0.0.0'; port: 6669
2018-07-19 03:40:15 6 [Note] - '0.0.0.0' resolves to '0.0.0.0';
2018-07-19 03:40:15 6 [Note] Server socket created on IP: '0.0.0.0'.
三、访问
使用mysql命令即可,需要指定inception的ip地址和端口,如
登录成功界面如下图,此时执行 命令可以获取系统参数。
四、附录
1. 配置文件/etc/inception.cnf
此配置文件基本是官方参数默认值,docker运行时可以使用 覆盖它。
官方参数文档地址:https://mysql-inception.github.io/inception-document/variables/
配置文件内容如下($变量请在在docker运行时覆盖):
领取专属 10元无门槛券
私享最新 技术干货