一.策划 环境:CentOS 7 介质: 操作系统CentOS-7-x86_64-Minimal-1708,内存配置至少2G,建议4核。swap区分配至少5G空间。 源码安装包:mysql-boost-5.7.23.tar, 下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.22.tar.gz 创建实例的脚本;后附 属组: 软件属于mysql用户组下,mysql用户为拥有者,mysql用户密码为oracle。root用户有所有本地操作权限,root用户密码为oracle。 目录: 软件存放目录:/home/mysql/sofeware 软件根目录:/home/mysql/base 实例根目录:/home/mysql/instance 目标: 在/home/mysql/instance下,批量创建三个实例:oracle01,oracle02,oracle03,登陆密码为oracle。 二.初始化 1,清理系统原有mysql及MariaDB,以防止后台进程的相互干扰,利用rpm指令的配套功能就可以实现。 [root@don ~]# rpm -qa |grep mysql [root@don ~]# rpm -qa |grep mair 使用rpm工具,对返回的结果强制擦除 rpm -e --nodeps [ 返回的结果 ] 2,安装所需的各依赖包 [root@don ~]# yum -y install gcc gcc-c++ readline-devel bzip2-devel rpm-build kernel-devel libaio libaio-devel elfutils-libelf-devel nfs-utils compat-libstdc++-33 compat-libcap1 cmake bison automake ncurses-devel xinetd openssl-devel numactl-libs 3修改系统内核参数 [root@don ~]# echo '* soft nofile 65535' >> /etc/security/limits.conf [root@don ~]# echo '* hard nofile 65535' >> /etc/security/limits.conf 3,创建属组 [root@don ~]# groupadd -g 6666 mysql [root@don ~]# useradd -u 6666 -g mysql mysql 4 创建默认路径 [root@don ~]# su - mysql [mysql@don ~]$ mkdir -p /home/mysql/sofeware [mysql@don ~]$ mkdir -p /home/mysql/base [mysql@don ~]$ mkdir -p /home/mysql/instance 5,将源码安装包mysql-boost-5.7.23.tar扔到/home/mysql/sofeware下 [mysql@don sofeware]$ pwd /home/mysql/sofeware [mysql@don sofeware]$ ls mysql-boost-5.7.23.tar.gz 三.编译安装 解压安装包 [mysql@don sofeware]$ tar xvf mysql-boost-5.7.23.tar.gz ********************************************** [mysql@don sofeware]$ ls mysql-5.7.23 mysql-boost-5.7.23.tar.gz [mysql@don sofeware]$ cd mysql-5.7.23 切换到root用户 [mysql@don mysql-5.7.23]$ su 密码: [root@don mysql-5.7.23]# 编译源码,进入解压后的文件夹。 [root@don mysql-5.7.23]# cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/base -DENABLED_LOCAL_INFILE=ON -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost/ DENABLED_LOCAL_INFILE=ON :源码文件保存在当前路径下 DCMAKE_INSTALL_PREFIX=/home/mysql/base :为源码指定安装目录 源码安装,设备上的内核数目为4,所以参数配置为-j 4。 [root@don mysql-5.7.23]# make -j 4 && make install
编译安装需要root权限,当编译安装完成后,将软件属组权限还给mysql. [root@don bin]# chown -R mysql:mysql /home/mysql/ 为方便MySQL其他配套组件使用,建立对应软链接。当提示软连接存在时,则跳过。 ln -s /home/mysql/mysql*/bin/mysql /usr/bin/mysql ln -s /home/mysql/mysql*/bin/mysqladmin /usr/bin/mysqladmin ln -s /home/mysql/mysql*/bin/mysql_config /usr/bin/mysql_config ln -s /home/mysql/mysql*/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20 四.创建实例 将脚本发送到/home/mysql/sofeware路径下。配置initdb.info [root@don sofeware]# vi initdb.info IP ******************************************************本机IP 地址 SOFT_DIR ***********************************************软件根目录,本机为/home/mysql/base INSTANCE_BASE_DIR **************************************实例根目录,自定义 INSTANCE_NAME_PREFIX **********************************实例前缀,自定义 INSTANCE_NAME *****************************************实例名,自定义 INSTANCE_PORT ******************************************实例端口号,建议范围22222-66666 SERVER_ID ***********************************************服务号,实例号后缀号码 ADMIN_USER *********************************************维护账号 ADMIN_PASSWD*******************************************维护密码 运行脚本,注意,一定要在MySQL用户下运行。 [mysql@don sofeware]$ sh init57_v1.3_20180402.sh 运行结束后,将在规划中的/home/mysql/instance下创建,三个实例 [mysql@don instance]$ ls db_oracle01 db_oracle02 db_oracle03 同时,三个实例对应的mysqld服务进程同时存在系统中: [mysql@don instance]$ ps -ef|grep mysql 安装部署成功