安装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这样的数字为扩展名。

原文地址:https://www.cnblogs.com/wangfg/p/10626494.html

时间: 2024-10-09 23:55:33

安装Percona版本的MySQL主从复制的相关文章

如何使用 Yum Repository 安装指定版本的 MySQL

自从从使用 debian 系的 apt-get 转到使用 yum 工具之后一直不是很习惯,也没有去看过很多工具包安装的时候到底影响到了哪些文件等.这次借这次社区版 MySQL 安装来一并梳理一下. 首先我们前往 https://dev.mysql.com/downloads/repo/yum/ 下载对应的 yum repo 包. 这里可以看到 官方提供了4个 repo 包提供下载: 这里对应 3 个 linux 发行版.Red Hat Enterprise Linux 7 是红帽企业版7 后面是

011-通过安装percona插件监控MySQL

percona-monitoring-plugins是percona专门为MySQL监控的工具,支持Nagios,cacti,zabibx,本文主要介绍percona-monitoring-plugins在zabbix下使用的方法Percona监控插件特性: 通过zabbix agent进行数据轮询采集预定义的触发器图形集中展现(Screen,聚合图形)默认300秒轮询间隔,使用php脚本采集数据,并写入缓存文件,zabbix agent读取缓存文件收集数据.除特定用于触发器的健康检查项目外,在

两个版本的Mysql 主从复制

MySQL  AB复制 Mysql AB 复制又称主从复制,实现的是数据同步,要求最好所有的mysql版本相同,如果版本不一致,从服务器版本要高于主服务器,而且版本不一致不能做双向复制. AB复制主要的有点有两点: 1.解决宕机带来的数据不一致,因为mysql AB 复制可以实时备份数据, 2.减轻数据库服务压力 但是mysql AB复制不适用于大数据环境,如果是大数据环境推荐使用集群 Mysql复制的三个主要步骤: ①主服务器更改记录到二进制文件中(二进制日志事件) ②从服务器吧主服务器的二进

Ubuntu16.04安装指定版本的Mysql(5.5/5.6)

Ubuntu升级到了16.04,直接执行apt-get install mysql会安装5.7可惜5.7下开发的APP启动都启动不起来,无奈需要降级.尝试过的方法如下:1, 参考官网downgrading方法:https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/downgrading.html(彻底失败,我都不知道失败在什么地方)2, 参考官网APT方式,希望能直接装个低版本的,失败.https://dev.mysql.com/

centos笔记-安装特定版本的mysql

centos6的yum默认安装的mysql是5.1版, 如果要安装5.6.16 版,有三个办法 1.yum方式, 这个方式的好处是通过yum安装卸载都很方便,坏处是版本无法详细制定,比如官方版本yum库,只有mysql5.6.37版 从mysql下载yum库,进行安装,参考:https://segmentfault.com/a/1190000007667534 或者http://www.cnblogs.com/a3470194/p/5480911.html 版本库参考官网https://dev.

CentOS 6.9/7通过yum安装指定版本的MySQL

一.安装CENTOS 6 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysql57-community-release-el6.rpm # yum install -y mysql-community-server 备注:http://repo.mysql.com这个站点上就是放置rpm源的站点,可以找到其它类型的源. 如果发现系统上有很多个版本的源,可以通过这个命令关掉其它的源,进

yum 安装mysql, yum安装指定版本的mysql

yum安装mysql: 1. 查看有没有安装过 yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep mysql* 查看有没有安装包: yum list mysql* 2. 安装mysql客户端 yum -y install mysql 安装mysql 服务器端 yum -y install mysql-server  mysql-devel 3. 启动&&停止 数据库字符集设置 mysql配置文件/etc/m

mysql主从复制--mysql-5.5异步、半同步配置

背景介绍 mysql5.5之前版本,mysql主从复制比较简单 mysql5.6:gtid,multi-thread replication master 1 启用二进制日志 log-bin = master-bin log-bin-index = master-bin.index 2 选择一个唯一的server id server-id = [0~2^32] 3 创建具有复制权限的用户 replication slave,复制的从节点 replication client,联系master,获

centos7下安装指定版本mysql5.7.23

现在mysql版本已经到MySQL 8.0(GA)稳定版本了,所以需求是想简单又快速在centos7下安装指定版本例如MySQL 5.7(GA)版本有下面这种方法 首先需要到mysql官网这里下载对应RPM包来update一下 1.全新安装MySQL的步骤 我这边是想安装5.7.23版本,然后这个rpm包是最新8.0版本的,这边我就需要做点操作了: 首先,将MySQL Yum存储库添加到系统的存储库列表中.按着这些次序: 在http://dev.mysql.com/downloads/repo/