安装Percona版本的MySQL主从复制
准备两台虚拟机,按顺序执行1.1节的公共部分
1.1
首先安装 cmake
# yum –y install cmake //也需要安装gcc-c++,openssl openssl-devel。前面已经安装。
# cd /usr/local
# mkdir mysql
# cd mysql /
rz 上传安装包
# tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar
执行安装文件
# rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm
# rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm
# rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm
# rpm -ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm
安装顺序:rpm包很多,只需安装debuginfo、shared、client、server
1.1.1 安装目录
配置文件路径 /etc/my.cnf
注意:安装完成后,会将配置文件放在etc目录下
# vi /etc/my.cnf
数据文件路径:/var/lib/mysql
1.1.2 启动服务
# service mysql start //自动安装到它自己制定的目录下,注册服务为mysql
# service mysql status
# service mysql stop
配置开机启动:
# chkconfig --list //展现开机的服务
1.1.3 修改root密码
默认没有密码不安全:
# mysqladmin -u root password "root"
Warning警告提示,忽略即可。
登录:
# mysql -uroot -proot
1.1.4 问题:PID file could not be found
mysql无法启动ERROR! MySQL is running but PID file could not be found ?
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
解决办法:
# ps aux | grep mysql
# kill -9 pid1 pid2 #pid1,pid2为具体的查询出来的端口
# service mysql start 或者 /etc/init.d/mysql start
1.1.5 错误:提示uuid重复
由于data拷贝是全目录拷贝,将/var/lib/mysql/auto.cnf也拷贝,它里面记录了对数据库的一个uuid标识,随便产生个新的uuid,替换掉新目录中的auto.cnf中的uuid串即可。
可以用select uuid()来产生新值,手工黏贴到auto.cnf文件中。
1.1.6 验证是否成功安装
# use mysql //打开mysql数据库
注意:Percona安装和mysql正式版的安装,在依赖上有区别。
1.1.7 打开3306端口
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
# /etc/rc.d/init.d/iptables save #修改生效
# /etc/init.d/iptables status #查看配置
1.1.8 执行数据库的脚本
创建库和数据库表及数据
set names utf8; #防止乱码
1.1.9 开启MYSQL远程访问权限
语法:
grant [权限] on [数据库名].[表名] to ['用户名']@['web服务器的ip地址'] identified by ['密码'];
# grant all on *.* to 'root'@'%' identified by 'root';
或者指定IP地址
# grant all on *.* to 'root'@'192.168.1.103' identified by 'root';
执行flush使命令生效
# FLUSH PRIVILEGES;
1.2 主从复制Linux版本
1.2.1 配置主服务器
编辑主master服务器配置文件/etc/my.cnf
在[mysqld]节点下加入两句话
server-id=1
log-bin=mysql-bin #启用二进制日志;
重启服务:
登录mysql:mysql -uroot -proot
mysql>flush tables with read lock; #数据库锁表,不让写数据
mysql>show master status; #查看MASTER状态(这两个值File和Position)

mysql>unlock tables; #从启动好后,记得要解除锁定
1.2.2 配置从服务器
修改/etc/my.cnf增加一行
server-id=2
重启服务
service mysql restart
通过mysql命令配置同步日志的指向:
change master to master_host='192.168.29.131',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=120;
master_host 主服务器的IP地址
master_port 主服务器的PORT端口
master_log_file 和主服务器show master status中的File字段值相同
master_log_pos 和主服务器show master status中的Position字段值相同
1.2.3 启动从服务
start slave; #stop slave;停止服务,出错时先停止,再重新配置
show slave status\G; #查看SLAVE状态,\G结果纵向显示。必须大写

注意:如果出错,可以看后面的错误信息。观察Slave_SQL_Running_State字段,它会记录详细的错误信息。如果正常,上面两个线程执行都应该是YES。这样当主库创建数据库、创建表、插入数据时,从库都会立刻同步,这样就实现了主从复制。
1.2.4 扩展:同步日志
binlog基本定义:二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存到磁盘中。
作用:可以用来查看数据库的变更历史(具体的时间点所有的SQL操作)、数据库增量备份和恢复(增量备份和局域时间点的恢复)、MySQL的复制(主主数据库的复制、主从数据库的复制)
二进制日志的信息:
1)文件位置:默认存放位置为数据库文件所在目录下 /var/lib/mysql
2)文件的命名方式:名称为hostname-bin.xxxxx (重启mysql一次将会自动生成一个新的binlog)
3)状态的查看
mysql> show variables like '%log_bin%';
保存日志的格式是二进制不能直接查看,必须借助命令行工具才能阅读。mysql自带了mysqlbinlog工具,一般放置在mysql安装目录下的bin目录下执行
mysqlbinlog mysql-bin.000001
后面那个参数是日志文件,日志文件一般放在mysql的数据库存储文件目录下,以配置文件log-bin的值为文件名,一串000001这样的数字为扩展名。
安装Percona版本的MySQL主从复制的更多相关文章
- 使用 docker 安装多版本的 MySQL
原文:使用 docker 安装多版本的 MySQL 首先从 docker 官网下载安装 docker. 检查 docker 安装是否成功,出现类似下面的信息就是安装好了 $ docker versio ...
- mysql使用yum源安装各个版本的mysql数据库
每次想用yum安装旧版本的mysql时,发现都找不到mysql的yum安装源,在官网只能找到最新版本mysql的yum源.后来才知道,原来最新的mysql的yum源也是包含了旧版本的mysql的yum ...
- 如何使用 Yum Repository 安装指定版本的 MySQL
自从从使用 debian 系的 apt-get 转到使用 yum 工具之后一直不是很习惯,也没有去看过很多工具包安装的时候到底影响到了哪些文件等.这次借这次社区版 MySQL 安装来一并梳理一下. 首 ...
- zabbix4.2学习笔记--安装percona插件监控MySQL
percona-monitoring-plugins是percona专门为MySQL监控的工具,支持Nagios,cacti,zabibx,本文主要介绍percona-monitoring-plugi ...
- 011-通过安装percona插件监控MySQL
percona-monitoring-plugins是percona专门为MySQL监控的工具,支持Nagios,cacti,zabibx,本文主要介绍percona-monitoring-plugi ...
- CentOS 6.9/7通过yum安装指定版本的MySQL
一.安装CENTOS 6 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysq ...
- yum 安装mysql, yum安装指定版本的mysql
yum安装mysql: 1. 查看有没有安装过 yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep m ...
- centos笔记-安装特定版本的mysql
centos6的yum默认安装的mysql是5.1版, 如果要安装5.6.16 版,有三个办法 1.yum方式, 这个方式的好处是通过yum安装卸载都很方便,坏处是版本无法详细制定,比如官方版本yum ...
- Ubuntu下安装指定版本的mysql
1.编辑/etc/apt/sources.list和/etc/apt/sources.list.save, 手动加上deb http://archive.ubuntu.com/ubuntu trust ...
随机推荐
- Html一些特殊字符(Html语法字符)的一种表达方式
空格 & & < < > > " " &qpos; '
- gulp学习笔记——最好的学习文档是官网
官网:http://www.gulpjs.com.cn/docs/api/ 当然还有一个博客写的也很好,当我看不下去官网的时候,这个帮助了我很多,明了易懂:http://www.ydcss.com/a ...
- Wndows下Apache+php+Mysql环境的搭建及其涉及的知识(转)
一.安装Apache 1. 在网上搜索以下3个文件,以及找一个地方新建一个文件夹 好吧,这里有下载链接:http://pan.baidu.com/s/1hr9IdSS 文件夹内有:apache,mys ...
- ch03 课下作业——缓冲区溢出漏洞实验
一.实验简介: 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭 ...
- android:shape 设置圆形
组件高度和宽度设置为相同的值即可<?xml version="1.0" encoding="utf-8"?><shape xmlns:andr ...
- 解决radio、select表单返回时,再次选择失效
应用场景:我们在选择好radio跟select之后提交表单,返回历史记录时,再次选择,提交表单,发现提交的是上次表单选择的 解决办法:我们可以一进页面就给radio跟select的选项重置掉,因为,返 ...
- C#基础之Assembly
一直以来,我们都在用C#编写程序,编写程序的时候,我们用到继承.多态.接口以及泛型,我们也都明白子类可以继承抽象类,并能够重写父类的抽象方法,可是大家是否想过,如下几个问题: 1.凡树必有根和叶,类的 ...
- Lua中__index和__newindex实践
[具有默认值的table] 我们都知道,table中的任何字段的默认值都是nil,但是通过元表,我们可以很容易的修改这一规定,代码如下: function setDefault(tb, default ...
- 【原创】大叔问题定位分享(6)Dubbo monitor服务iowait高,负载高
一 问题 Dubbo monitor所在服务器状态异常,iowait一直很高,load也一直很高,监控如下: iowait如图: load如图: 二 分析 通过iotop命令可以查看当前系统中磁盘io ...
- 【java】Java组件概览(1)
如上图所示,Oracle的Java SE8有两个产品:JDK和JRE.其中,JRE的内容包括图中①~⑤,它是JDK的子集. ⑥中的红色部分与JRE有重合. [参考] 1.https://docs.or ...