前言:
前面那篇5.6.38主从搭建的文章属于测试系统里面弄着玩的,以下这篇文章写的是在公司生产库上搭建的MYSQL主从。
在上系统前,纠结了很久,到底使用哪种数据库(PG?HBASE?MONGODB?)?最后选择了MYSQL是由于公司懂的人多,自己也比较熟悉,且新项目初期数据量不大,MYSQL可以满足需求,最最重要的是这个新项目属于探路性质的,如果真的被重视起来,那到时再把数据迁移出去就好了(基于开发说的数据结构简单单一,存储数据单一的情况,没有特别的数据类型等)。
所以最终选择了开源数据库中的一员MYSQL。(本来还有考虑ORACLE的,老本行,只不过考虑到领导们支持开源,那就用开源吧)
之前也纠结了要不要使用mysql5.7.22,结果去下载了安装,发现redhat6.5的cmake版本太低,不支持mysql5.7.22的编译,一下子又没找到redhat7的安装包,干脆就用mysql5.6.40这个5.6的最终稳定版算了。
操作系统,网卡,防火墙,IP地址配置等等在这里就不写了。
一、MYSQL源码安装
(两个节点都安装,步骤一样的)
安装环境:
操作系统REDHAT6.5
NODE1 主机名 master IP地址 192.168.159.148
NODE2 主机名 slave IP地址 192.168.159.149
1、安装依赖
yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl
2、创建用户和组
groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin
3、下载5.6.40源码包
https://downloads.mysql.com/archives/get/file/mysql-5.6.40.tar.gz
4、解压tar -zxvf mysql-5.6.40.tar.gz
cd /opt/
tar -zxvf mysql-5.6.40.tar.gz
cd mysql-5.6.40
5、编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306-DENABLED_LOCAL_INFILE=1-DWITH_PARTITION_STORAGE_ENGINE=1-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
说明:
设置安装目录
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
数据库存放目录
-DMYSQL_DATADIR=/usr/local/mysql/data
系统配置目录
-DSYSCONFDIR=/etc
安装 myisam 存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1
安装 innodb 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
安装memory存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1
快捷键功能
-DWITH_READLINE=1
Unix socket文件路径
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
MySQL 监听端口
-DMYSQL_TCP_PORT=3306
允许从本地导入数据
-DENABLED_LOCAL_INFILE=1
安装数据库分区
-DWITH_PARTITION_STORAGE_ENGINE=1
安装所有扩展字符集
-DEXTRA_CHARSETS=all
使用 utf8 字符
-DDEFAULT_CHARSET=utf8
校验字符
-DDEFAULT_COLLATION=utf8_general_ci
支持 SSL
-DWITH_SSL=yes
make &&make install
6、目录授权
chown mysql.mysql /usr/local/mysql
mkdir /usr/local/mysql/log
chown mysql.mysql /usr/local/mysql/log
7、数据库初始化
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
8、配置环境变量
vi /root/.bash_profile 在最后一行添加
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
二、MYSQL5.6.40主从搭建
vi /etc/my.cnf
[mysqld]
server-id=101