搭建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 :主要包涵状态检查& ...
随机推荐
- Oracle 序列的应用
Oracle创建序列,删除序列,得到序列 序列的创建 create sequence seq_newsId increment by 1 start with 1 maxvalue 999999999 ...
- TestNG使用Eclipse建立Test Case - 就是爱Java
除了JUnit可以进行单元测试外,还可以使用TestNG来撰写Test Case,这是另一种测试Framework,它是为更广泛的测试场合而设计,可以运行在没有修改过的JUnit测试,除非看到它们的i ...
- JAVA常用类库简介(转)
Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的 ...
- zabbix 对于logstash告警连续发邮件
打上勾就行
- 了解 Windows Azure 存储的可伸缩性、可用性、持久性和计费
借助 Windows Azure存储,应用程序开发者及其应用程序和用户可以在云中使用可用性更高.持久性更长.可伸缩性更强的海量存储.开发者可以构建能随时随地高效访问数据的服务,在所需的时间段内存储任意 ...
- 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添 ...
- "V租房"搭建微信租房平台,让租房人发起求租需求并接收合适房源回复,提高租房效率 | 36氪
"V租房"搭建微信租房平台,让租房人发起求租需求并接收合适房源回复,提高租房效率 | 36氪 "V租房"搭建微信租房平台,让租房人发起求租需求并接收合适房源回复 ...
- java java.uitl.Random产生随机数
通过使用java.uitl.Random产生一个1-10内的随机数.例: Random random = new Random(); int i = Math.abs(random.nextInt() ...
- Python一日一练05----怒刷点击量
功能 自己主动获取CSDN文章列表,并对每篇文章添加点击量. 源代码 import urllib.request import re import time import random from bs ...
- BNU10806:请在此处签到
每年圣诞,ZUN都会邀请很多人到幻想乡举行联欢,今年也不例外.在联欢前,所有人需要在自己的昵称旁签到(签全名),以示出席.然后ZUN 会把大家的签到表保存下来作为纪念,以激励来年努力工作. 昵称: ...