xtrabackup参考文章

https://www.cnblogs.com/linuxk/p/9372990.html

下载5.7的mysql 社区版包

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar

如果是redhat7系统需要删除mariadb的包

使用以下命令检查并删除mariadb包

rpm -e --nodeps $(rpm -qa | grep mariadb)

上传到/tmp目录解压缩

tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar

安装依赖包

yum install -y net-tools perl

安装rpm包

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

创建目录并设置所属

mkdir -p /data/mysql/{data,tmp,log}

chown -R mysql:mysql /data/mysql/{data,tmp,log}

修改配置文件(清除源文件的内容加入以下内容)

vi /etc/my.cnf

[client]

port = 3306

socket = /data/mysql/tmp/mysql.sock

default-character-set = utf8mb4

[mysqld]

port = 3306

datadir = /data/mysql/data

pid-file = /data/mysql/tmp/mysqld.pid

socket = /data/mysql/tmp/mysql.sock

log-error = /data/mysql/log/error.log

character_set_server = utf8mb4

user = mysql

bind-address = *

server-id = 1

symbolic-links=1

connect_timeout = 3600

wait_timeout = 3600

interactive_timeout = 3600

explicit_defaults_for_timestamp = true

启动mysql服务

systemctl start mysqld

获取安装过程中自动生成的密码到MySQL_PASS变量

MySQL_PASS=$(cat /data/mysql/log/error.log | grep "A temporary password" | awk '{print $NF}')

使用root加MySQL_PASS变量登陆

mysql -u root -p"${MySQL_PASS}"

设置新的密码为Admin123,.

mysql> SET PASSWORD='Admin123,.';

开启远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ADmin123,.' WITH GRANT OPTION;

flush privileges;

yum -y install gcc pcre-devel openssl-devel

上传nginx-1.12.2.tar.gz包到root的家目录

解压缩nginx的包

tar -xf nginx-1.12.2.tar.gz

进入nginx的目录,编译安装

cd nginx-1.12.2

./configure --with-http_ssl_module

make && make install

yum -y install php php-mysql php-fpm

修改nginx的配置文件,让其支持php动态网站,因为有大量的php脚本需要执行,还有开启nginx的各种fastcgi缓存加速php脚本的执行速度

vi /usr/local/nginx/conf/nginx.conf

添加以下内容,添加的内容要顶格写,添加的位置如图所示

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 128k;

fastcgi_buffers 4 128k;

同时添加以下内容,添加位置如图所示

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

}

开启php-fpm服务和nginx服务

systemctl start php-fpm

ln -s /usr/local/nginx/sbin/nginx /sbin/nginx

nginx

首先安装zabbix server 的依赖包

yum -y install net-snmp-devel curl-devel libevent-devel

解压zabbix包,进入目录,编译安装,使用编译安装的mysql数据库时造成zabbix编译失败,报错如

zabbix error: MySQL library not found

造成以上编译错误的话,需要安装mysql的devele包,包名为mysql-community-devel-5.7.25-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm

tar -xf zabbix-3.4.11.tar.gz

cd zabbix-3.4.11

./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl

编译安装参数说明

// --enable-server安装部署zabbix服务器端软件

// --enable-agent安装部署zabbix被监控端软件

// --enable-proxy安装部署zabbix代理相关软件

// --with-mysql配置mysql_config路径

// --with-net-snmp允许zabbix通过snmp协议监控其他设备

// --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态

执行make && make install

make && make install

数据库配置,登陆数据库,创建中文字符集的数据库,赋权,如图(一下配图为MariaDB的配图,实际情况如果使用mysql的话,mysql不允许简单密码,应该使用大小写数字加特殊字符来组成密码)

mysql

MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

创建可以访问数据库的账户和密码(zabbix的源码包下有关于数据库的sql脚本,只需要进入到源码包的database/mysql目录下,导入sql脚本即可,注意一定要安装顺序)

cd database/mysql/

mysql -uzabbix -pzabbix zabbix < schema.sql

mysql -uzabbix -pzabbix zabbix < images.sql

mysql -uzabbix -pzabbix zabbix < data.sql

将zabbix的web页面关联到nginx中

cd /root/zabbix-3.4.11/frontends/php/

cp -r * /usr/local/nginx/html/

chmod -R 777 /usr/local/nginx/html/*

修改zabbix-server配置文件,设置数据库的相关参数,启动zabbix-server服务

vi /usr/local/etc/zabbix_server.conf

DBHost=localhost

//数据库主机,默认该行被注释

DBName=zabbix

//设置数据库名称

DBUser=zabbix

//设置数据库账户

DBPassword=zabbix

//设置数据库密码,默认该行被注释

LogFile=/tmp/zabbix_server.log

//设置日志,仅查看以下即可

添加zabbix用户,不让其登陆到系统控制台,,不添加用户的话,无法启动zabbix_server服务

useradd -s /sbin/nologin zabbix

启动zabbix_server服务

zabbix_server

验证服务是否正常启动,如图

netstat -nutpl |grep zabb

提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server,一定要先使用killall zabbix_server关闭服务后,再重新启动一次。

如果还是无法启动zabbix_server服务的话,查日志,日志位置/tmp/zabbix_server.log

cat /tmp/zabbix_server.log

从日志上来看是找不到sock文件

查找sock文件

find / -name "mysql.sock*"

制作连接

ln -s /data/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock

然后重新启动zabbix_server

下面配置zabbix_agent服务,同样编辑zabbix_agentd.conf配置文件

vi /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,172.16.103.2                    //允许哪些主机监控本机

ServerActive=127.0.0.1,172.16.103.2                 //允许哪些主机通过主动模式监控本机

Hostname=zabbix_server                        //设置本机主机名

LogFile=/tmp/zabbix_server.log                    //设置日志文件

UnsafeUserParameters=1                        //是否允许自定义key

启动zabbix_agent服务,同样如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd,一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次。

zabbix_agentd

使用浏览器访问zabbix的web页面,进行相关配置,访问地址为:http://172.16.103.2/index.php但是因为是首次登陆,会被强制跳转到http://172.16.103.2/setup.php进行配置,如图所示

程序会检查先决条件,对于不满足的,程序已经给了解决方法,

关于以上错误,如果是PHP option类的错误,那么需要修改php.ini配置文件,修改之后需要重启php服务,php.ini文件的位置位于/etc目录下,可以直接使用vi /etc/php.ini命令来编辑该文件,保存修改之后需要执行systemctl restart php-fpm才生效。

vi /etc/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

systemctl restart php-fpm

执行了这些修改之后依然还有报错信息,如下图所示

部分报错可以通过yum安装一些扩展包来解决,例如bcmath mbstring等,执行下面的yum安装命令,安装依赖包。

yum -y install php-gd php-xml php-bcmath php-mbstring

执行完上述依赖包的安装命令之后重启php-fpm再次刷新网页

PHP的LDAP未开启,后面标注是是warning警告,再次忽略。进入下一步,下图中表单中的数据参照zabbix_server.conf配置文件中的内容填写

Name可以自行填写,也可以不填写,Name为此zabbixserver实例的名称

报错提示无法创建配置文件,为了安全起见上文配置nginx的过程中修改的权限为755,也就是其他用户没有写权限,程序提示我们可以手工下载文件,上传到/usr/local/nginx/html/conf目录,保存的绝对路径为/usr/local/nginx/html/conf/zabbix.conf.php

使用admin密码zabbix登陆

登陆之后配置主机,等到zabbix变绿之后观察数据库,有实时的数据写入。

安装xtrabackup,备份的数据为mysql5.7,所以需要安装的xtrabackup版本为2.4最新版本的8.0的版本无法对mysql5.7做备份。只能使用2.4版本

下载

文件列表

https://www.percona.com/downloads/

rpm包

https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.15/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm

安装依赖包

下载libev包

http://mirror.centos.org/centos/7/extras/x86_64/Packages/libev-4.15-7.el7.x86_64.rpm

rpm -ivh libev-4.15-7.el7.x86_64.rpm

安装xtrabackup

yum localinstall percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm

登陆数据库创建备份账户

CREATE USER 'bakuser'@'%' IDENTIFIED BY 'Admin123,.'; #创建bakuser用户

REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'bakuser'; #移除该用户的所有权限

grant reload,process,lock tables,replication client on *.* to 'bakuser'@'%'; #为该用户赋权,包括刷新,锁表,查看服务器信息,复制权限

执行全量备份

innobackupex --user=bakuser --password=Admin123,. /date/db_bakup/

删库跑路

执行恢复操作

innobackupex --apply-log /date/db_bakup/2019-09-18_18-02-35/

innobackupex --copy-back /date/db_bakup/2019-09-18_18-02-35/

执行上述操作之后仅仅为恢复了数据库文件,下面要修改数据库文件的权限

chown -R mysql.mysql /data/mysql/data/

修改完之后重新连库即可看到数据了。

编译安装mysql和zabbix,xtrabackup数据库备份的更多相关文章

  1. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

  2. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  3. CentOS 编译安装 mysql

    1.前期准备 1.1 环境说明: 操作系统: CentOS release 6.4 (Final) [查看命令 cat /etc/redhat-release ] mysql : mysql-5.6. ...

  4. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  5. Linux编译安装Mysql步骤

    一. Centos 用 wget 下载需要的软件,保存到目录/home/zwl/MySql/下 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/my ...

  6. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  7. 源码编译安装 MySQL 5.5.x 实践(转)

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  8. Linux 环境编译安装mysql (源码安装包)

    标注: Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包.配置163网易提示的网络yum源参考博客  http://www.cnblogs.com/zoulo ...

  9. Linux(CentOS6.5)下编译安装MySQL Community Server 5.7.12

      组件 官方网站 直接下载地址 备注 mysql http://dev.mysql.com/downloads/mysql/ http://mirrors.sohu.com/mysql/MySQL- ...

随机推荐

  1. PHP中的PDO操作学习(二)预处理语句及事务

    今天这篇文章,我们来简单的学习一下 PDO 中的预处理语句以及事务的使用,它们都是在 PDO 对象下的操作,而且并不复杂,简单的应用都能很容易地实现.只不过大部分情况下,大家都在使用框架,手写的机会非 ...

  2. win10 移动端 android 测试环境搭建

    一.移动端自动化测试的基础环境配置1:安装Java环境 关于安装Java环境以及相关环境变量的配置在我之前的博文分享中已有详细介绍,有需要的可以直接查找翻阅,这里就不再一一介绍. 二.移动端自动化测试 ...

  3. 『GoLang』协程与通道

    作为一门 21 世纪的语言,Go 原生支持应用之间的通信(网络,客户端和服务端,分布式计算)和程序的并发.程序可以在不同的处理器和计算机上同时执行不同的代码段.Go 语言为构建并发程序的基本代码块是 ...

  4. 解决samba和SELINUX 冲突

    在使用Samba进行建立Window与Linux共享时,要是不能访问,出现"您可能没有权限使用网络资源", 那就是SELinux在作怪了 要是想让共享目录能访问,可以使用命令 #s ...

  5. 【Go】Golang实现gRPC的Proxy的原理

    背景 gRPC是Google开始的一个RPC服务框架, 是英文全名为Google Remote Procedure Call的简称. 广泛的应用在有RPC场景的业务系统中,一些架构中将gRPC请求都经 ...

  6. Jetbrains CLion 安装与激活 详解

    1. 下载与安装 1.1 下载 这里提供了三个操作系统的官网下载地址 Mac Windows Linux 进入页面后向下拉点击蓝色按钮即可下载. 1.2 安装 这里将用 MacOS 来进行示例,Win ...

  7. SpringBoot 如何进行限流?老鸟们都这么玩的!

    大家好,我是飘渺.SpringBoot老鸟系列的文章已经写了四篇,每篇的阅读反响都还不错,那今天继续给大家带来老鸟系列的第五篇,来聊聊在SpringBoot项目中如何对接口进行限流,有哪些常见的限流算 ...

  8. python日志配置及调用

    0.日志基础操作 import logging logging.basicConfig( #1.日志输出的位置,终端和文件 filename='access.log', #,不指定默认打到终端上 #2 ...

  9. C#开发BIMFACE系列44 服务端API之计算图纸对比差异项来源自哪个图框

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>.<C#开发BIMFACE系列43 ...

  10. enum 试图表达64位数

    enum AttributeType: unsigned long long{ aa = 1, bb = 2, cc = 0x842AC1040000}; int main() { DWORD64 b ...