• mysql 基于lvm快照的备份


    1.查看磁盘数

       ls /dev/ | grep sd

    2.快照备份

    pvcreate /dev/sdb #制作成物理卷
    vgcreate testvg /dev/sdb
    lvcreate -L200M -n testlv testvg #创建逻辑卷
    mkfs -t ext4 /dev/testvg/testlv #格式化lv
    mount /dev/testvg/testlv /mnt #挂载目录

    mount -t  ext3  /dev/myvg1/mylv1  /mnt/mylv1    #挂载lvm

    --------------迁移数据库-----------
    mv * /mnt/

    umount /mnt #卸载mnt
    mount /dev/testvg/testlv /var/lib/mysql/

    lvcreate -L50m -s -n snap1 /dev/testvg/testlv #指定快照大小


    vgdisplay #查看创建的vg
    lvdisplay #查看lv
    du -h /var/lib/mysql #查看数据库的大小
    tail /var/log/mysql.log #查看日志报错
    mount

    ---------------------------自动挂载逻辑卷-----------------------

    blkid /dev/myvg1/mylv1 | awk '{print $2}'   #获取逻辑卷的卷名

    并在/etc/fstab中添加开启自动挂载

    1. # cat >>/etc/fstab <<endf  \在/etc/fstab下追加逻辑卷挂载信息 
    2. UUID=29502f33-fde2-4c21-b6c3-9fe1b74c0f0d /var/lib/mysql ext4 defaults 0 0 
    3. > endf

     ---------------------开始---------------------------------------

     一、前期准备工作

    1.划分物理分区 

      (1)查看当前分区:fdisk -l

      

    (2)fdisk分区:fdisk   /dev/sda 

    将新分区的id设置为8e

    (3)创建完分区让分区马上生效:partprobe

    出现此情况的解决办法

    reboot

    2.创建LVM的物理卷

       (1)pvcreate /dev/sda3

              查看pv命令 pvdisplay 

     

    3.创建卷组

      #vgcreate    卷组名      物理卷
      #vgcreate  myvg1  /dev/sda3
     

    4.创建逻辑卷

    #lvcreate  -L  大小  卷组名  -n  逻辑卷名称

      lvcreate -L 500M myvg1 -n mylv1

    5.格式化挂载逻辑卷:mkfs.ext4 /dev/myvg1/mylv1

     

    mkdir -p /mnt/mylv1/data

    mount -t ext4  /dev/myvg1/mylv1  /mnt/mylv1   #挂载逻辑卷

    mount     #查看这个逻辑卷挂载在那里

    二、mysql数据库lvm备份

    首先关闭mysql

    1.创建数据库目录及权限设置

       mkdir /mnt/mylv1/mysqldata

       chown -R mysql:mysql /mnt/mylv1/mysqldata

    2.修改my.cnf文件 

    [mysqld]

    datadir=/mnt/mylv1/mysqldata
    socket=/mnt/mylv1/mysqldata/mysql.sock
    lower_case_table_names = 1

    [client]

    socket=/mnt/mylv1/mysqldata/mysql.sock
    default-character-set=utf8

    [safe_mysqld]
    err-log = /var/log/mysql.log

    3.初始化数据库

       mysql_install_db --user=mysql --datadir=/mnt/mylv1/mysqldata

       or

       mv  *  /mnt/mylv1/mysqldata

    4.备份数据库

    (1)准备数据库目录

     mkdir -pv /usr/mysql_backup/`date +%F`/{data,binlog}

    (2)修改变量,请求全表读锁

          mysql> SET GLOBAL sync_binlog=1; #设置此变量为1,让每个事件尽可能同步到二进制日志文件里,以消耗IO来尽可能确保数据一致性 
          mysql> SHOW MASTER STATUS; #查看二进制日志和position,此信息保存在/backup/2015-04-14/binlog的binlog.txt里

         mysql> FLUSH LOGS; #刷新日志 
         mysql> FLUSH TABLES WITH READ LOCK; #读锁请求到后不要关闭此mysql交互界面

    (3)创建快照

           lvcreate -L50m -s -n snap1 /dev/myvg1/mylv1

    (4)回到锁定表的mysql交互式界面,解锁:
          mysql> UNLOCK TABLES; 
          mysql> SET GLOBAL sync_binlog=0;  #此参数可以根据服务器磁盘IO的负载来调整

    (5)挂载快照卷并备份数据

          mount /dev/myvg1/snap1 /usr/mysql_backup/2015-09-30/data

    (6)释放快照卷

            umount /usr/mysql_backup/2015-09-30/data

            lvremove /dev/myvg1/snap1 

    ----------------------错误处理----------------------------------

    1. The server quit without updating PID file 错误

    首先配置

    [mysqld]
    socket=/mnt/mylv1/data/mysql.sock
    datadir=/mnt/mylv1/data
    user=mysql
    symbolic-links=0
    [safe_mysqld]
    err-log = /var/log/mysql.log

    [client]
    default-character-set=utf8

    /etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled  重启电脑

    2.Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

       mysql -uroot -p -S /mnt/mylv1/data/mysql.sock  #通过此方式登录可以临时解决

       mysql -uroot -h 127.0.0.1 -p    #通过此方式登录可以临时解决

       ----------------彻底解决------------------

       socket=/var/lib/mysql/mysql.sock

       /usr/bin/mysqld_safe &

  • 相关阅读:
    中美贸易战再次开启,世界两极化进程正在加快形成!..... Copyright: 1688澳洲新闻网 Read more at: https://www.1688.com.au/world/international/2018/06/17/369368/
    缠师的博客中关于舒伯特中的回帖,细思极恐
    南怀瑾,脱了国学大师的外衣,只剩下江湖和名利
    你可能修了一个假的“不净观”
    陈大惠老师:什么叫道德?
    C#-正则,常用几种数据解析-端午快乐
    html5+go+websocket简单实例代码
    Task三个列子的分享
    golang-web框架revel一个表单提交的总结
    百度流行音乐-资源数据整合
  • 原文地址:https://www.cnblogs.com/Yongzhouunknown/p/4845068.html
Copyright © 2020-2023  润新知