搭建MHA环境【2】安装mysql-5.6 + mysql复制
本例中mysql的安装方式选用了二进制包安装方案、mysql复制用半同步复制方案
【1】安装mysql-5.6.31 要在所有的数据节点上都安装上mysql,安装方式大致相同,所以我这里就不重复写多次了,只以一台为例。
1.1 解压安装包到/usr/local/
tar -xzvf mysql-5.6.-linux-glibc2.-x86_64.tar.gz -C /usr/local
1.2 为了创建linux系统的mysql用户
useradd mysql
1.3 创建连接文件
cd /usr/local/
[root@mhamaster local]# ll
总用量 44
drwxr-xr-x. 2 root root 4096 9月 23 2011 bin
drwxr-xr-x. 2 root root 4096 9月 23 2011 etc
drwxr-xr-x. 2 root root 4096 9月 23 2011 games
drwxr-xr-x. 2 root root 4096 9月 23 2011 include
drwxr-xr-x. 2 root root 4096 9月 23 2011 lib
drwxr-xr-x. 2 root root 4096 9月 23 2011 lib64
drwxr-xr-x. 2 root root 4096 9月 23 2011 libexec
drwxr-xr-x. 13 root root 4096 11月 17 05:48 mysql-5.6.31-linux-glibc2.5-x86_64
drwxr-xr-x. 2 root root 4096 9月 23 2011 sbin
drwxr-xr-x. 5 root root 4096 10月 5 23:02 share
drwxr-xr-x. 2 root root 4096 9月 23 2011 src
[root@mhamaster local]# ln -s mysql-5.6.31-linux-glibc2.5-x86_64 mysql
1.4 根据自己的情况创建mysql的配置文件/etc/my.cnf; 注意各个mysql实例中server_id不能相同这个是复制时的一个限制;当然这里是一最简单的配置
[mysqld]
server_id=
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
log_bin=mysql-bin
1.5 初始化mysql库
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
cp support-files/mysql.server /etc/init.d/mysqld
1.6 启动mysql
service mysqld start
1.7 配置PATH环境变量,这里还是先补充一点课外知识;/etc/profile 这个文件虽然说是全局的,但是有时候这里的环境变量设置并不会生效;例如我在192.168.80.130
主机上的/etc/profile 文件的最后加上 export PATH=/usr/local/mysql/bin/:$PATH ;这样我就把/usr/local/mysql/bin/目录加到了PATH环境变量中去了。不要想当然的
认为所有用户的PATH路径中都会包涵有/usr/local/mysql/bin/哦! 比如说我通过ssh 192.168.80.130 'export' 这种方式时执行命令时PATH中就没有/usr/local/mysql/bin/
又由于mha 大量的使用这种方式去执行命令,PATH中又找不到mysqlbinlog | mysql 这两个程序,所以mha会报错;网上有一些作者的解决方式是创建一个连接文件到
/usr/local/bin/目录下,之所以它这样能解决问题是因为,通过这种方式登录到远程时PATH中包涵有/usr/local/bin/ ;为了解决这个问题要在用户家目录中再把
/usr/local/mysql/bin/这个目录导出一次
1.7.1 :在/etc/profile 文件的最后加一句
export PATH=/usr/local/mysql/bin:$PATH
1.7.2:在用户的家目录下的.bashrc中加一句(我在会在mha中会配置成root用户,所以这里我要加到/root/.bashrc这个文件中去)
export PATH=/usr/local/mysql/bin:$PATH
1.8 导出mysql的共享库,这里还是补充一点课外知识,linux系统中库路径的位置都记录在了/etc/ld.so.conf.d/这个目录下的配置文件中;通常来说这个目录下会有一个叫
mysql-x86_64.conf的默认文件,默认文件中记录的是/usr/lib64/mysql这个默认路径,这个上路径应该是为rpm包安装而设定的;所以我们这里要把这个改成我们自己
的路径/usr/local/mysql/lib 。改完之后执行一下ldconfig 认系统把库文件都加载一下。
cat /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/local/mysql/lib/ #改成我们自己的路径不要默认的
[root@mhamaster ld.so.conf.d]# ldconfig
1.9 导出头文件(我也不太确认这样导出对不对)
mkdir /usr/include/mysql
[root@mhamaster include]# cp -R /usr/local/mysql/include/* /usr/include/mysql/
说明:虽然操作到1.6步的时候mysql的安装工作就可以算完成了,但是细节还是要注意一下,可以少出一点问题。
2 创建用户mhaadmin 用于管理集群,repl用于复制
create user mhaadmin@'localhost' identified by '067ac96e';
create user mhaadmin@'127.0.0.1' identified by '067ac96e';
create user mhaadmin@'%' identified by '067ac96e';
grant all on *.* to mhaadmin@'%';
grant all on *.* to mhaadmin@'localhost';
grant all on *.* to mhaadmin@'127.0.0.1'; create user repl@'%' identified by 'aa6d6a71';
create user repl@'localhost' identified by 'aa6d6a71';
create user repl@'127.0.0.1' identified by 'aa6d6a71';
grant replication client ,replication slave on *.* to repl@'%';
grant replication client ,replication slave on *.* to repl@'localhost';
grant replication client ,replication slave on *.* to repl@'127.0.0.1';
3、备份数据库
mysqldump -h127.0.0. -uroot -P3306 --all-databases --single-transaction --master-data= --events --routines >/tmp/data.sql
4、在master端启用半同步复制插件
install plugin rpl_semi_sync_master soname 'semisync_master.so';
set @@global.rpl_semi_sync_master_enabled=1;
5、在salve端启用半同步复制插件
install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
set @@global.rpl_semi_sync_slave_enabled=1;
6、在slave 端还原数据
mysql </tmp/data.sql
7、执行change master to; master_log_file & master_log_pos 可以在data.sql中找到
change master to
master_host='192.168.80.130',
master_port=3306,
master_user='repl',
master_password='aa6d6a71',
master_log_file='mysql-bin.000003',
master_log_pos=1960; start slave;
到这里mysql安装+复制环境的搭建就算成功了!
搭建MHA环境【2】安装mysql-5.6 + mysql复制的更多相关文章
- XMPP环境搭建 (mac环境下 安装自己独立的mysql与服务器(openfire),实现即时聊天功能)
1简单概览 [一]XMPP简介 http://xmpp.org 即时通讯技术 IM - Instant Messaging ⽀支持⽤用户在线实时交谈.交谈双⽅方都需要⼀一个聊天窗⼝口,其中⼀一个⽤用户 ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- 第0课 - 搭建开发环境之安装QT
第0课 - 搭建开发环境之安装Qt 1. 课程学习的原材料 — Visual Studio 2010 — Qt SDK 4.7.4 — Qt Creator 2.4.1 2. Visual Studi ...
- Ubuntu 17.10 用 apt 搭建 lamp 环境、安装 phpmyadmin、redis 服务+扩展、mysql 扩展、开启错误提示、配置虚拟主机
2018-02-24 13:50:30 更新: 个人喜欢相对原生又不太麻烦,所以用 apt 构建环境.不过,最近使用到现在记得出现过了 3 次 apache 或 mysql 服务器无法启动或无法连接的 ...
- Linux系统搭建Java环境【JDK、Tomcat、MySQL】一篇就够
前言:所有项目在完成开发后都会部署上线的,一般都是用Linux系统作为服务器的,很少使用Windows Server(大多数项目的开发都是在Windows桌面系统完成的),一般有专门负责上线的人员 ...
- windows转mac-开发环境搭建(一):需要搭建的环境及安装的工具
作为一个java后端开发者来说,随着项目的增加,前段时间用windows真是受尽折磨,电脑卡到不行,在我们开发部技术大佬的一再安利之下,狠下心选了个17年13寸带touch bar的MacBook P ...
- 搭建域环境,安装Exchange Server 2013,复现CVE-2019-1040
搭建域环境 操作系统: 域控:Windows server 2008 R2 域成员: Windows Server 2012 . Windows 7 对于将要安装成为DC的服务器来讲,其系统配置 ...
- 团队服务器搭建(搭建php环境和安装在线mysql管理工具phpmyadmin)
1.本人良心推荐阿里云,因为他对学生来说优惠很多,比如说9.9/月的云主机,所以这里演示阿里云ubuntu系统,系统可以自己安装的 2.来到阿里云官网https://www.aliyun.com,免费 ...
- 搭建MHA环境【1】规划+linux相关的设置
[1]规划 MHA这套软件包涵两个部分 1.manager :主要负责对MySQL集群状态的检查&在master 库宕机时对故障进行转移. 2.node :主要包涵状态检查& ...
随机推荐
- HSV颜色识别demo
HSV(Hue, Saturation, Value)色彩空间是一种区别与RGB的表示形式.其模型可视为一个倒立的棱锥或圆锥. 其中H为色调,用角度度量,取值范围为0°-360°,从红色开始按逆时针方 ...
- linux下如何编译python生成libpython2.5.so动态库
http://biancheng.dnbcw.info/python/245306.html
- BZOJ2212: [Poi2011]Tree Rotations
2212: [Poi2011]Tree Rotations Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 391 Solved: 127[Submi ...
- hdu5017:补题系列之西安网络赛1011
补题系列之西安网络赛1011 题目大意:给定一个椭球: 求它到原点的最短距离. 思路: 对于一个椭球的标准方程 x^2/a^2 + y^2/b^2 +z^2/c^2=1 来说,它到原点的最短距离即为m ...
- 【POJ2136】Vertical Histogram(简单模拟)
比较简单,按照样例模拟就好!~ #include <iostream> #include <cstdlib> #include <cstdio> #include ...
- mybatis学习笔记第一讲
第一步:先配置mybatis配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE confi ...
- jQuery----blur()方法
当元素失去焦点时发生 blur 事件. blur() 函数触发 blur 事件,或者如果设置了 function 参数,该函数也可规定当发生 blur 事件时执行的代码. 提示:早前,blur 事件仅 ...
- 关于时间的操作(JavaScript版)——依据不同区时显示对应的时间
如今项目基本上告一段落了,难得有一定的闲暇,今天利用数小时完毕了一个功能模块--依据不同区时显示对应的时间,这方面网上基本没有现成的样例,如今将代码粘贴例如以下: <!DOCTYPE HTML ...
- linux高级技巧:heartbeat+lvs(一)
1.heartbeat一个简短的引论: Heartbeat 项目是 Linux-HA project的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组 ...
- nignx日志格式
web-master的nginx格式: log_format web_format '$remote_addr $remote_port $remote_user [$time_local] ' '& ...