?mysql備份之lvm

mysql備份之lvm

新建一個lvm磁盤,這里我建的lv為mydatalv,掛載到了/data下

[root@localhost ~]# lvs
  LV       VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                                  
  mydatalv mydata -wi-ao---- 1.00g   
[root@localhost ~]# df -h
文件系統                     容量  已用  可用 已用% 掛載點
/dev/mapper/mydata-mydatalv  976M  2.6M  907M    1% /data

將原數據庫文件復制到/data目錄下

[root@localhost ~]# cp -a /var/lib/mysql /data/

修改配置文件,將mysql數據庫文件放在lvm盤中,二進制文件放在非lvm盤的/var/lib/mysql/目錄下

[root@ns1 ~]# vim /etc/my.cnf
    [mysqld]
    log_bin=/var/lib/mysql/mysql-bin
    datadir=/data/mysql
[root@localhost ~]# service mariadb restart
[root@localhost ~]# ls /data/mysql
aria_log.00000001  ibdata1      ib_logfile1  mysql-bin.000001  mysql-bin.000003  performance_schema
aria_log_control   ib_logfile0  mysql        mysql-bin.000002  mysql-bin.index   test
可以看到重啟后數據庫文件已存放在了/data/mysql目錄中了

對mysql進行鎖表備份

[root@localhost ~]# mysql -e 'flush tables with read lock;' 鎖表
[root@localhost ~]# mysql -e 'flush logs;'          對日志進行滾動,
[root@localhost ~]# mysql -e 'show master status;' > /root/back.$(date +%F+%T)
[root@localhost ~]# ls
back.2016-07-13+10:14:29

對lv創建快照

[root@localhost ~]# lvcreate -L 1G -n mysqlback -p r -s /dev/mydata/mydatalv

釋放鎖

[root@localhost ~]# mysql -e 'unlock tables;'

在別的磁盤上創建備份目錄,只讀掛載快照后備份至備份目錄

[root@localhost ~]# mkdir /myback
[root@localhost ~]# mount -r /dev/mydata/mysqlback /mnt
[root@localhost ~]# cp -a /mnt/mysql /myback

修改表內容,然后刪除掉數據庫文件內容即/data/mysql中的內容

[root@localhost ~]# mysql
    MariaDB [hellodb]> use hellodb;
    MariaDB [hellodb]> insert into classes (class,numofstu) values ('xxoo',39);
[root@localhost ~]# rm -rf /data/*

修改配置文件中二進制日志和數據庫文件的位置

[root@localhost ~]# vim /etc/my.cnf
    [mysqld]
    log_bin=/data/mysql/mysql-bin
    datadir=/data/mysql

利用/myback/中的內容還原

[root@localhost ~]# cp -a /myback/* /data/
[root@localhost ~]# service mariadb restart

利用二進制日志還原快照后的操作,由下面這個文件來查看快照執行時二進制日志的位置

[root@localhost ~]# cat back.2016-07-13+10\:14\:29 
File    Position    Binlog_Do_DB    Binlog_Ignore_DB
mysql-bin.000014        245

將000014中245之后的操作做成sql文件,進行還原

[root@localhost ~]# mysqlbinlog --start-position=245 /var/lib/mysql/mysql-bin.000014 > binlog.sql
[root@localhost ~]# mysql < /root/binlog.sql

查看恢復情況

[root@localhost ~]# mysql
    MariaDB [(none)]> use hellodb;
    MariaDB [hellodb]> select * from classes;
    +---------+----------------+----------+
    | ClassID | Class          | NumOfStu |
    +---------+----------------+----------+
    |       1 | Shaolin Pai    |       10 |
    |       2 | Emei Pai       |        7 |
    |       3 | QingCheng Pai  |       11 |
    |       4 | Wudang Pai     |       12 |
    |       5 | Riyue Shenjiao |       31 |
    |       6 | Lianshan Pai   |       27 |
    |       7 | Ming Jiao      |       27 |
    |       8 | Xiaoyao Pai    |       15 |
    |       9 | xxoo           |       39 |
    +---------+----------------+----------+
    9 rows in set (0.00 sec)

原創文章,作者:N17_信風,如若轉載,請注明出處:http://www.www58058.com/24866

(0)
N17_信風N17_信風
上一篇 2016-07-19
下一篇 2016-07-19

相關推薦

  • web服務介紹二)

    apache指令說明:http://httpd.apache.org/docs/2.2/mod/directives.html Listen 172.18.100.67:8081  監聽某個指定地址和端口啟動前檢查一下語法:    httpd -t 如果要監聽多個端口,要多行寫    Listen 80&nb…

    Linux干貨 2017-04-20
  • Linux入門基礎知識

    1、計算機的組成及其功能。 ? ? ? ? 計算機系統主要分為硬件系統和軟件系統兩部分。 ? ? ? ? (1)硬件系統由五部分組成,其中包括: ? ? ? ? 控制器:調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問; ? ? ? ? 運算器:對數據進行加工處理; ? ? ? ? 存儲器:存儲程序、信號、命令,數據等信息,并在需要時提供這些信息…

    Linux干貨 2018-02-25
  • Linux文件及目錄管理

    Linux 文件管理 1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 目錄管理類命令:mkdir,rmdir mkdir [OPTION]… DIRECTORY… -p:自動按需創建父目錄; -v顯示詳細過程; -m MODE直接給定權限; rmdir 移除空目錄 rmdir&nbs…

    Linux干貨 2016-10-09
  • N25期第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題 1.復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加# sed -r 's/^[^[:space:]]+/#&/g' /tmp/rc.sysinit :%s/^[^[:space:]]\+/#&a…

    Linux干貨 2016-12-26
  • Centos7上利用corosync+pacemaker+crmsh構建高可用集群

    一、高可用集群框架 資源類型:     primitive(native):表示主資源     group:表示組資源,組資源里包含多個主資源     clone:表示克隆資源     master/…

    Linux干貨 2016-05-29
  • 7.11 centos 7安裝重點之磁盤分區+SecureCRT 8.0安裝步驟

    一:Centos安裝重點之磁盤分區   0.前言      0.1  常見的磁盤接口有兩種,IDE與SATA接口,目前主流的為SATA接口      0.2  關于主分區、擴展分區、邏輯分區的特性           ①…

    2017-07-11
欧美性久久久久