前言:
前面那篇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主从搭建
1、Master端配置部署
a、在主服务器上的my.cnf配置文件中的[mysqld]节点下添加以下配置
vi /etc/my.cnf
[mysqld]
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何调用 Java 的 concat 方法?(java concat方法怎么调用)
- Java 中 System.in 的具体作用究竟是什么?(java中system.in的作用是什么)
- Java 中如何声明私有变量?(java私有变量如何声明)
- Java webservice 接口如何进行调用?(Java webservice接口如何调用)
- Java 下载文件的最佳实践究竟是什么?(java下载文件的最佳实践是什么)
- Java 如何实现拓扑图?详细步骤及代码示例(java如何实现拓扑图)
- Java 中如何设置 PrintWriter 的编码?(Java中printwriter设置编码的方法是什么)
- JavaWinForm 开发中常用的控件都有哪些呢?(javaWinForm开发中常用的控件有哪些)
- Java 中死循环问题该如何解决?(java死循环问题怎么解决)
- 如何进行 Java WebAPI 的版本控制?(Java WebAPI如何进行版本控制)