MySQL数据库备份与还原

养成对数据经常做备份是平时运维中一种良好的习惯,良好的数据备份习惯或许可以成为你生产工作中紧急情况的救命稻草。记录下工作中收集整理的数据库备份与还原的操作,这里介绍两种针对mysql数据库的备份还原方法。

mysqldump

mysqldump是mysql数据库官方自带对数据库进行备份还原的工具。

优点

数据库自带不用单独找其他工具,另外因为是数据库自带工具,对数据库本身兼容性更好,特别在跨数据库版本迁移备份还原的时候推荐使用官方的mysqldump数据备份个工具。

缺点

说了优点也说下缺点,mysqldump在进行数据备份还原的时候会进行锁表操作,操作结束后又对表进行解锁。如果需要备份的数据库数据比较小还好,数据量比较大锁表时间太长对数据库的生产访问使用也存在影响。

mysqldump备份

[root@10 bin]# ./mysqldump -ugray -p -P 3308 --databases csm > /home/gray/dbbak/csm_20180118.sql

-u表示数据库用户名

-p表示数据库密码

-P表示数据库访问端口

–databases表示数据库,后面跟参数csm表示备份名叫csm的数据库

>表示输出备份数据到备份路径/home/gray/dbbak/csm_20180118.sql

继续阅读“MySQL数据库备份与还原”

LVM使用

生产工作环境中经常会遇到随着业务数据增长,原先磁盘分区挂载规划不能很好满足系统的长远发展,这就对前期系统磁盘规划有很高要求。但是即使你最初规划设计的在完美也无法改变磁盘空间满的那天。这时候就需要一种可动态可扩展的磁盘技术,于是就有了LVM(Logical Volume Manager)逻辑卷管理。如果你是运维linux服务器,LVM使用肯定是会接触到的。LVM的强大以及原理网上已经有很多文章介绍过,这里只做简单说明,主要记录下工作中实际的使用情况。

LVM组成基本概念

物理存储设备(Physical Media):指系统的存储设备文件,比如 /dev/sda、/dev/sdb 等。

物理卷PV (Physical Volume):一个可供存储LVM的块设备. 例如: 一块硬盘, 一个MBR或GPT分区, 一个回环文件, 一个被内核映射的设备 (例如 dm-crypt).它包含一个特殊的LVM头。

卷组 VG(Volume Group):物理卷的一个组,作为存放逻辑卷的容器。 PEs are allocated from a VG for a LV.

逻辑卷 LV(Logical Volume):”虚拟/逻辑卷”存放在一个卷组中并由物理块组成。是一个类似于物理设备的块设备,例如,你可以直接在它上面创建一个文件系统文件系统

物理块 PE(Physical Extent):一个卷组中最小的连续区域(默认为4 MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。

逻辑块LE(Logical Extent):LV(逻辑卷)中可以分配的最小存储单元称为 LE,在同一个卷组中,LE 的大小和 PE 的大小是一样的,并且一一对应。

字面上可以简单理解是从物理存储设备上抽象出一层逻辑卷进行磁盘管理,这样做的好处是不用对磁盘进行直接的重新分区,从逻辑划分的层面便可动态管理磁盘。默认情况,以下操作都是在root账号权限下操作。

继续阅读“LVM使用”

VMware虚拟机快照对MySQL数据库备份性能的影响

今天在整理之前系统异常事故问题时想记录下当时事故发生的情况跟解决思路。
先介绍下生产环境情况:

  • 服务器:VMware虚拟机(平台在管理,版本没具体问)
  • 操作系统:RHEL 6.3 x86_64
  • 数据库:MySQL V5.7.26(主主同步)
  • 数据库备份工具:Percona XtraBackup (服务器已关机,版本不记得)

问题现象:

早上来上班是用户登录使用系统的高峰期,上班后不久就接到用户报问题反馈聊天消息发送后窗口显示空白

思路:

根据用户反馈在本地验证复现问题,验证问题确实存在查看监控系统告警信息,根据监控告警信息去检查具体服务运行情况。当检查服务运行情况时发现所有服务均运行正常,再查看监控系统告警开始解除,多人客户端发送消息验证也恢复正常。当时监控看到的告警是来自数据库服务器,为什么去检查数据库服务的时候看着运行也正常呢?又查看数据库服务器负载情况,相比平时上班高峰期负载明显更高,数据库服务器只部署了一个数据库服务,那就是找出引起数据库负载升高的原因。

继续阅读“VMware虚拟机快照对MySQL数据库备份性能的影响”

CentOS 6升级OpenSSH

最近服务器做了一次安全漏扫,扫描报告显示存在多处安全漏洞,其中一项是openssh版本漏洞。服务器操作系统用的红帽RHEL6.5,默认软件源openssh版本都很低存在安全风险。由于服务器运行环境不能访问外网,软件升级下载到本地手动编译安装。听同事说手动编译安装openssh比较麻烦,外网服务器使用yum方式安装没注意手动编译安装软件的困难性,因为ssh这类工具的特殊性也记录下自己的升级安装过程,本次计划openssh版本升至OpenSSH 8.0。

查看当前版本

[root@test1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@test1 ~]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
[root@test1 ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
[root@test1 ~]#

查看当前版本OpenSSH_5.3p1,OpenSSL 1.0.1e-fips

继续阅读“CentOS 6升级OpenSSH”

MySQL数据库版本升级

生产环境数据库使用过程中出现过几次事故,查看日志因为版本缺陷引起,最近打算升级数据库版本,由于动到数据库的东西,升级失败影响会很大,先在测试环境做升级测试。

环境

系统:Red Hat Enterprise Linux Server release 6.5 (Santiago)

数据库:MySQL-5.7.14

由于下载的二进制压缩包方式安装,自己用的Ubuntu一直apt-get方式安装升级,一直没试过二进制压缩包版本升级,网上搜了一通升级步骤,小版本可以采取本地直接升级方式。

官网下载安装包mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

继续阅读“MySQL数据库版本升级”

CentOS6下安装Java+Tomcat优化并自启动

CentOS作为服务器系统,稳定的状态成为良好的口碑。现在模拟服务器环境安装配置Java、Tomcat并对Tomcat做优化自启动。

系统:CentOS 6.9
Java:jdk-8u121-linux-i586.rpm
Tomcat:apache-tomcat-8.5.13.tar.gz

安装Java

#查看系统自带的Java并对应删除

[root@localhost ~]# rpm -qa | grep java
java_cup-0.10k-5.el6.i686
tzdata-java-2017b-1.el6.noarch
java-1.5.0-gcj-1.5.0.0-29.1.el6.i686
[root@localhost ~]# rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.i686

#下载好JDK文件,查看rpm包详细信息

[root@localhost 下载]# rpm -qip jdk-8u121-linux-i586.rpm 
Name        : jdk1.8.0_121                 Relocations: /usr/java 
Version     : 1.8.0_121                         Vendor: Oracle Corporation
Release     : fcs                           Build Date: 2016年12月13日 星期二 08时28分49秒
Install Date: (not installed)               Build Host: sca00boj.us.oracle.com
Group       : Development/Tools             Source RPM: jdk1.8.0_121-1.8.0_121-fcs.src.rpm
Size        : 279013566                        License: http://java.com/license
Signature   : (none)
Packager    : Java Software <jre-comments@java.sun.com>
URL         : URL_REF
Summary     : Java Platform Standard Edition Development Kit
Description :
The Java Platform Standard Edition Development Kit (JDK) includes both
the runtime environment (Java virtual machine, the Java platform classes
and supporting files) and development tools (compilers, debuggers,
tool libraries and other tools).

The JDK is a development environment for building applications, applets
and components that can be deployed with the Java Platform Standard
Edition Runtime Environment.

#看到默认安装目录是Relocations: /usr/java
继续阅读“CentOS6下安装Java+Tomcat优化并自启动”

抓到VirtualBox一个bug

今天日常更新软件时发现VirtualBox有更新,没多想就都更新了,版本号为:VirtualBox5.1.24r117012。更新完成后正常启动虚拟机,这台虚拟机分给了同事远程使用,按照惯例进到虚拟机把扩展文件也更新了,突然问题来了……点了几下死机了,再查看虚拟机状态已经没有在运行!这就悲剧了,难道是我打开姿势不对?又仔细检查一遍,没发现有什么不对。作为一个认真执着的人:D,再启动一次看看,重复多次还是同样结果,我在怀疑是不是机子过热或者硬件出了问题,关机让它休息一段时间开机再试,结果还是一样。我把注意力又转移到系统平台上,我虚拟机是在Linux系统下运行,试一下Windows平台是否正常,Windows系统下启动VirtualBox,找了其他电脑远程登录还是死机了!这么说真相只有一个——VirtualBox软件程序有BUG!现在没办法又降回到上一版。

Linux系统下VirtualBox死机卡了一下就好了,Windows系统下VirtualBox死机了直接跳出Windows经典界面——蓝屏!

使用命令行管理VirtualBox

VirtualBox提供了vboxmanage命令行管理方式,无论是Linux还是Windows平台都适用,下面环境主要以Linux为主。

系统:Ubuntu 16.04
VirtualBox:5.1.22(已安装扩展文件)

 

查看已有虚拟机UUID

vboxmanage list vms

 

查看在运行虚拟机

vboxmanage list runningvms

 

启动虚拟机XP_ZYT

vboxmanage startvm c49d5cf1-bae0-4377-a950-b277ea45e54b -type headless

–或者vmname方式

vboxmanage startvm Windows\ XP\ SP3 -type headless

参数–type headless是以无头模式运行

 

关闭虚拟机XP_ZYT

vboxmanage controlvm c49d5cf1-bae0-4377-a950-b277ea45e54b poweroff

 

安装扩展文件

sudo vboxmanage extpack install --replace ./Oracle_VM_VirtualBox_Extension_Pack-5.1.14.vbox-extpack

如果是更新扩展文件需要加上参数–replace

 

显示扩展文件

vboxmanage list extpacks

 

下载扩展文件

wget http://download.virtualbox.org/virtualbox/5.1.16/Oracle_VM_VirtualBox_Extension_Pack-5.1.16-113841.vbox-extpack

 

修改远程桌面连接默认端口(3389)

vboxmanage controlvm Windows\ XP\ SP3 vrdeport 3388

继续阅读“使用命令行管理VirtualBox”

为Linux增加swap简单方法

假如我们使用了Digital Ocean入门级VPS($5/mo,点击Digital Ocean),内存空间为512M,由于DO默认没有创建swap空间,为了不时之需,可以手工创建,操作很简单:

1、获取512M文件块:

#fallocate -l 512M /var/swapfile

2、创建swap文件:

#mkswap /var/swapfile

3、激活swap文件:

#swapon /var/swapfile

4、查看一下当前swap:

#swapon -s
 Filename Type Size Used Priority
 /var/swapfile file 524284 0 -1

5、加到fstab文件中让系统引导时自动启动

#vi /etc/fstab

在末尾增加以下内容:

/var/swapfile swap swap defaults 0 0
声明:转载请注明原文链接为Linux增加swap简单方法

=======================记录生活,分享快乐|igray博乐园出品=======================