搭建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 :主要包涵状态检查& ...
随机推荐
- docker中运行ASP.NET Core Web API
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...
- Codeforces 459E Pashmak and Graph
http://www.codeforces.com/problemset/problem/459/E 题意: 给出n个点,m条边的有向图,每个边有边权,求一条最长的边权上升的路径的长度. 思路:用f存 ...
- KEIL简单实例
好久都没有用KEIL了,突然想动手,一时还真不知道从哪开始写,所以先弄个小实例,以便参考:#include <reg52.h> //加载包括一个52标准内核的头文件,里面主要是一些寄存器 ...
- OpenUrl 的跨平台实现
OpenUrl 是 iOS 中 UIApplication 提供的一个函数,用于调用其它程序.实际上各个平台都有自己的实现,这里提供一个直接封装完的跨平台版本给大家. Delphi ...
- Java中一些常用的代码
总结一下最近程序中用到的代码吧,大部分不是自己写的,放到这里,备份一下,以后忘记了来看一下: //正则表达式验证手机号 public static void phoneTest(String phon ...
- bzoj4005[JLOI2015]骗我呢
http://www.lydsy.com/JudgeOnline/problem.php?id=4005 神题~远距离orz 膜拜PoPoQQQ大神 #include<cstdio> #i ...
- 华为u8800怎样root?
用SuperOneClick就可以root了 .在手机上面进入设置-应用程序-开发-三个都要勾选.用数据线连接到电脑,确认可正常连接.不行就使用豌豆夹连接,豌豆夹会自动帮你安装手机的驱动.运行Supe ...
- 简单计算器(Android)
aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKC
- SRM 599 DIV1
A 首先发现对于2操作,每种素因子可以单独考虑,然后取出步数最多的计入答案,然后分别加上对每种素因子的1操作; 第二步我犯了个错误,以为最优方案是把素因子指数按二进制操作,在1的位置执行1操作,0的位 ...
- Http(get,post)及HttpClient(get,post)的简单使用
1. 使用 Http 的 Get 方式读取网络数据 import java.io.BufferedReader; import java.io.IOException; import java.io. ...