一.策划
环境: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
安装部署成功