MySQL/MariaDB数据库的冷备份和还原

     MySQL/MariaDB数据库的冷备份和还原html

                            做者:尹正杰 node

版权声明:原创做品,谢绝转载!不然将追究法律责任。mysql

 

 

 

一.MySQL/MariaDB数据库的备份和还原概述linux

1>.为何要备份sql

  为了预防灾难恢复:硬件故障、软件故障、天然灾害、黑客攻击、误操做测试等数据丢失场景。

2>.备份注意要点数据库

  能容忍最多丢失多少数据

  恢复数据须要在多长时间内完成
  须要恢复哪些数据

3>.还原要点vim

  作还原测试,用于测试备份的可用性

  还原演练(备份和备份成功是两码事!必定要进行还原演练!!!最好有相关的操做文档,遇到问题你也不慌了直接按照你本身写的文档执行就好!)

4>.备份类型centos

彻底备份:
  整个数据集 部分备份:
  只备份数据子集,如部分库或表
彻底备份、增量备份、差别备份   增量备份:仅备份最近一次彻底备份或增量备份(若是存在增量)以来变化的数据,备份较快,还原复杂   差别备份:仅备份最近一次彻底备份以来变化的数据,备份较慢,还原简单
舒适提示:
  二进制日志文件不该该与数据文件放在同一磁盘

5>.冷、温、热备份服务器

冷备:
  读写操做均不可进行 温备:
  读操做可执行;但写操做不可执行 热备:
  读写操做都可执行
存储引擎支持的备份类型:
  MyISAM:支持冷备和温备,不支持热备   InnoDB:都支持

6>.物理和逻辑备份app

物理备份:
  直接复制数据文件进行备份,与存储引擎有关,占用较多的空间,速度快
逻辑备份:
  从数据库中“导出”数据另存而进行的备份,与存储引擎无关,占用空间少,速度慢,可能丢失精度

7>.备份时须要考虑的因素

  温备的持锁多久
  备份产生的负载
  备份过程的时长
  恢复过程的时长

8>.备份什么

  数据
  二进制日志、InnoDB的事务日志
  程序代码(存储过程、函数、触发器、事件调度器)
  服务器的配置文件

9>.备份工具

cp, tar等复制归档工具:
  物理备份工具,适用全部存储引擎;只支持冷备;彻底和部分备份
LVM的快照:
  先加锁,作快照后解锁,几乎热备;借助文件系统工具进行备份
mysqldump:
  逻辑备份工具,适用全部存储引擎,温备;支持彻底或部分备份;对InnoDB存储引擎支持热备,结合binlog的增量备份
xtrabackup:
  由Percona提供支持对InnoDB作热备(物理备份)的工具,支持彻底备份、增量备份
MariaDB Backup:
  从MariaDB
10.1.26开始集成,基于Percona XtraBackup 2.3.8实现
mysqlbackup:
  热备份, MySQL Enterprise Edition组件
mysqlhotcopy:
  PERL 语言实现,几乎冷备,仅适用于MyISAM存储引擎,使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库

 

二.冷备份实战案例(彻底备份) 

为了试验方便,本案例采用多实例来模拟数据库的备份,关于MySQL的多实例安装方式可参考我以前的笔记。

博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/11741690.html

1>.查看两个实例的数据库信息

[root@node105.yinzhengjie.org.cn ~]# /mysql/3306/mysqld start
Starting MySQL...
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      80                                          :::3306                                                    :::*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mysql -uroot -pyinzhengjie -S /mysql/3306/socket/mysql.sock 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.2.19-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| yinzhengjie        |
+--------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> USE yinzhengjie
Database changed
MariaDB [yinzhengjie]> 
MariaDB [yinzhengjie]> SHOW TABLES;
+-----------------------+
| Tables_in_yinzhengjie |
+-----------------------+
| classes               |
| coc                   |
| courses               |
| scores                |
| students              |
| teachers              |
| toc                   |
+-----------------------+
7 rows in set (0.00 sec)

MariaDB [yinzhengjie]> 
MariaDB [yinzhengjie]> SELECT * FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name          | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
|     1 | Shi Zhongyu   |  22 | M      |       2 |         3 |
|     2 | Shi Potian    |  22 | M      |       1 |         7 |
|     3 | Xie Yanke     |  53 | M      |       2 |        16 |
|     4 | Ding Dian     |  32 | M      |       4 |         4 |
|     5 | Yu Yutong     |  26 | M      |       3 |         1 |
|     6 | Shi Qing      |  46 | M      |       5 |      NULL |
|     7 | Xi Ren        |  19 | F      |       3 |      NULL |
|     8 | Lin Daiyu     |  17 | F      |       7 |      NULL |
|     9 | Ren Yingying  |  20 | F      |       6 |      NULL |
|    10 | Yue Lingshan  |  19 | F      |       3 |      NULL |
|    11 | Yuan Chengzhi |  23 | M      |       6 |      NULL |
|    12 | Wen Qingqing  |  19 | F      |       1 |      NULL |
|    13 | Tian Boguang  |  33 | M      |       2 |      NULL |
|    14 | Lu Wushuang   |  17 | F      |       3 |      NULL |
|    15 | Duan Yu       |  19 | M      |       4 |      NULL |
|    16 | Xu Zhu        |  21 | M      |       1 |      NULL |
|    17 | Lin Chong     |  25 | M      |       4 |      NULL |
|    18 | Hua Rong      |  23 | M      |       7 |      NULL |
|    19 | Xue Baochai   |  18 | F      |       6 |      NULL |
|    20 | Diao Chan     |  19 | F      |       7 |      NULL |
|    21 | Huang Yueying |  22 | F      |       6 |      NULL |
|    22 | Xiao Qiao     |  20 | F      |       1 |      NULL |
|    23 | Ma Chao       |  23 | M      |       4 |      NULL |
|    24 | Xu Xian       |  27 | M      |    NULL |      NULL |
|    25 | Sun Dasheng   | 100 | M      |    NULL |      NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set (0.00 sec)

MariaDB [yinzhengjie]> 
MariaDB [yinzhengjie]> QUIT
Bye
[root@node105.yinzhengjie.org.cn ~]# 
查看3306实例的数据库信息
[root@node105.yinzhengjie.org.cn ~]# /mysql/3307/mysqld start
Starting MySQL...
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      80                                          :::3306                                                    :::*                  
LISTEN      0      80                                          :::3307                                                    :::*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mysql -uroot -pyinzhengjie -S /mysql/3307/socket/mysql.sock 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.2.19-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> QUIT
Bye
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
查看3307实例数据库信息

2>.关闭两个实例并将主节点的数据拷贝到从节点并修改相应的权限

[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      80                                          :::3306                                                    :::*                  
LISTEN      0      80                                          :::3307                                                    :::*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# /mysql/3307/mysqld stop
Stoping MySQL...
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# /mysql/3306/mysqld stop
Stoping MySQL...
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
关闭3306和3307两个数据库实例
[root@node105.yinzhengjie.org.cn ~]# ll /mysql/3306/data/
total 176204
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:18 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:18 aria_log_control
-rw-rw---- 1 mysql mysql     2926 Nov  5 07:18 ib_buffer_pool
-rw-rw---- 1 mysql mysql 79691776 Nov  5 07:18 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:18 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Oct 26 22:17 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Oct 26 23:26 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:17 mysql
-rw-rw---- 1 mysql mysql    29032 Oct 26 22:17 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Oct 26 22:17 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Oct 26 22:17 mysql-bin.state
-rw-rw---- 1 mysql mysql     3880 Nov  4 18:48 node105.log
-rw-rw---- 1 mysql mysql      948 Nov  4 17:41 node105-slow.log
drwx------ 2 mysql mysql       20 Oct 26 22:17 performance_schema
drwx------ 2 mysql mysql      272 Nov  4 22:03 yinzhengjie
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mysql/3307/data/
total 110660
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:18 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:18 aria_log_control
-rw-rw---- 1 mysql mysql      942 Nov  5 07:18 ib_buffer_pool
-rw-rw---- 1 mysql mysql 12582912 Nov  5 07:18 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:18 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Oct 26 22:38 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Oct 26 23:27 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:38 mysql
-rw-rw---- 1 mysql mysql    29032 Oct 26 22:38 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Oct 26 22:38 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Oct 26 22:38 mysql-bin.state
drwx------ 2 mysql mysql       20 Oct 26 22:38 performance_schema
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# scp -r  /mysql/3306/data/* /mysql/3307/data/
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mysql/3307/data/
total 262028
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:21 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:21 aria_log_control
-rw-rw---- 1 mysql mysql     2926 Nov  5 07:21 ib_buffer_pool
-rw-rw---- 1 mysql mysql 79691776 Nov  5 07:21 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:21 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:21 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Nov  5 07:21 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:38 mysql
-rw-rw---- 1 mysql mysql    29032 Nov  5 07:21 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Nov  5 07:21 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Nov  5 07:21 mysql-bin.state
-rw-r----- 1 root  root      3880 Nov  5 07:21 node105.log
-rw-r----- 1 root  root       948 Nov  5 07:21 node105-slow.log
drwx------ 2 mysql mysql       20 Oct 26 22:38 performance_schema
drwx------ 2 root  root       272 Nov  5 07:21 yinzhengjie
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# scp -r /mysql/3306/data/* /mysql/3307/data/  #生产环境可用使用tar压缩再拷贝
[root@node105.yinzhengjie.org.cn ~]# ll /mysql/3306/data/
total 176204
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:18 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:18 aria_log_control
-rw-rw---- 1 mysql mysql     2926 Nov  5 07:18 ib_buffer_pool
-rw-rw---- 1 mysql mysql 79691776 Nov  5 07:18 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:18 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Oct 26 22:17 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Oct 26 23:26 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:17 mysql
-rw-rw---- 1 mysql mysql    29032 Oct 26 22:17 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Oct 26 22:17 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Oct 26 22:17 mysql-bin.state
-rw-rw---- 1 mysql mysql     3880 Nov  4 18:48 node105.log
-rw-rw---- 1 mysql mysql      948 Nov  4 17:41 node105-slow.log
drwx------ 2 mysql mysql       20 Oct 26 22:17 performance_schema
drwx------ 2 mysql mysql      272 Nov  4 22:03 yinzhengjie
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mysql/3307/data/
total 262028
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:21 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:21 aria_log_control
-rw-rw---- 1 mysql mysql     2926 Nov  5 07:21 ib_buffer_pool
-rw-rw---- 1 mysql mysql 79691776 Nov  5 07:21 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:21 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:21 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Nov  5 07:21 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:38 mysql
-rw-rw---- 1 mysql mysql    29032 Nov  5 07:21 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Nov  5 07:21 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Nov  5 07:21 mysql-bin.state
-rw-r----- 1 root  root      3880 Nov  5 07:21 node105.log
-rw-r----- 1 root  root       948 Nov  5 07:21 node105-slow.log
drwx------ 2 mysql mysql       20 Oct 26 22:38 performance_schema
drwx------ 2 root  root       272 Nov  5 07:21 yinzhengjie
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# chown -R  mysql:mysql /mysql/3307/data/
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mysql/3307/data/
total 262028
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:21 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:21 aria_log_control
-rw-rw---- 1 mysql mysql     2926 Nov  5 07:21 ib_buffer_pool
-rw-rw---- 1 mysql mysql 79691776 Nov  5 07:21 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:21 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:21 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Nov  5 07:21 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:38 mysql
-rw-rw---- 1 mysql mysql    29032 Nov  5 07:21 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Nov  5 07:21 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Nov  5 07:21 mysql-bin.state
-rw-r----- 1 mysql mysql     3880 Nov  5 07:21 node105.log
-rw-r----- 1 mysql mysql      948 Nov  5 07:21 node105-slow.log
drwx------ 2 mysql mysql       20 Oct 26 22:38 performance_schema
drwx------ 2 mysql mysql      272 Nov  5 07:21 yinzhengjie
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# chown -R mysql:mysql /mysql/3307/data/

3>.启动从节点实例验证备份是否成功

[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# /mysql/3307/mysqld start
Starting MySQL...
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      80                                          :::3307                                                    :::*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mysql -uroot -pyinzhengjie -S /mysql/3307/socket/mysql.sock 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.2.19-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| yinzhengjie        |
+--------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> USE yinzhengjie
Database changed
MariaDB [yinzhengjie]> 
MariaDB [yinzhengjie]> SHOW TABLES;
+-----------------------+
| Tables_in_yinzhengjie |
+-----------------------+
| classes               |
| coc                   |
| courses               |
| scores                |
| students              |
| teachers              |
| toc                   |
+-----------------------+
7 rows in set (0.00 sec)

MariaDB [yinzhengjie]> 
MariaDB [yinzhengjie]> SELECT * FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name          | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
|     1 | Shi Zhongyu   |  22 | M      |       2 |         3 |
|     2 | Shi Potian    |  22 | M      |       1 |         7 |
|     3 | Xie Yanke     |  53 | M      |       2 |        16 |
|     4 | Ding Dian     |  32 | M      |       4 |         4 |
|     5 | Yu Yutong     |  26 | M      |       3 |         1 |
|     6 | Shi Qing      |  46 | M      |       5 |      NULL |
|     7 | Xi Ren        |  19 | F      |       3 |      NULL |
|     8 | Lin Daiyu     |  17 | F      |       7 |      NULL |
|     9 | Ren Yingying  |  20 | F      |       6 |      NULL |
|    10 | Yue Lingshan  |  19 | F      |       3 |      NULL |
|    11 | Yuan Chengzhi |  23 | M      |       6 |      NULL |
|    12 | Wen Qingqing  |  19 | F      |       1 |      NULL |
|    13 | Tian Boguang  |  33 | M      |       2 |      NULL |
|    14 | Lu Wushuang   |  17 | F      |       3 |      NULL |
|    15 | Duan Yu       |  19 | M      |       4 |      NULL |
|    16 | Xu Zhu        |  21 | M      |       1 |      NULL |
|    17 | Lin Chong     |  25 | M      |       4 |      NULL |
|    18 | Hua Rong      |  23 | M      |       7 |      NULL |
|    19 | Xue Baochai   |  18 | F      |       6 |      NULL |
|    20 | Diao Chan     |  19 | F      |       7 |      NULL |
|    21 | Huang Yueying |  22 | F      |       6 |      NULL |
|    22 | Xiao Qiao     |  20 | F      |       1 |      NULL |
|    23 | Ma Chao       |  23 | M      |       4 |      NULL |
|    24 | Xu Xian       |  27 | M      |    NULL |      NULL |
|    25 | Sun Dasheng   | 100 | M      |    NULL |      NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set (0.00 sec)

MariaDB [yinzhengjie]> 
MariaDB [yinzhengjie]> 
详细验证过程请戳我

 

三.基于LVM的备份

1>.请求锁定全部表

 

2>.记录二进制日志文件及事件位置

 

3>.建立快照

 

4>.释放锁

 

5>.挂载快照卷,执行数据备份(注意:用户可进行读写操做,但该过程会下降服务器性能)

[root@node105.yinzhengjie.org.cn ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0 1000G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  999G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  947G  0 lvm  /home
sdb               8:16   0   50G  0 disk 
sr0              11:0    1 1024M  0 rom  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# fdisk /dev/sdb 
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x0ba7f903.

Command (m for help): p

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0ba7f903

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-104857599, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +5G     
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0ba7f903

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
对新挂载磁盘进行分区
[root@node105.yinzhengjie.org.cn ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0 1000G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  999G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  947G  0 lvm  /home
sdb               8:16   0   50G  0 disk 
└─sdb1            8:17   0    5G  0 part 
sr0              11:0    1 1024M  0 rom  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# partprobe             #同步分区信息
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0 1000G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  999G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  947G  0 lvm  /home
sdb               8:16   0   50G  0 disk 
└─sdb1            8:17   0    5G  0 part 
sr0              11:0    1 1024M  0 rom  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# partprobe             #同步分区信息
[root@node105.yinzhengjie.org.cn ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0 1000G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  999G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  947G  0 lvm  /home
sdb               8:16   0   50G  0 disk 
└─sdb1            8:17   0    5G  0 part 
sr0              11:0    1 1024M  0 rom  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# pvcreate /dev/sdb1         #建立物理卷
  Physical volume "/dev/sdb1" successfully created.
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# vgcreate vg0 /dev/sdb1       #建立卷组
  Volume group "vg0" successfully created
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# lvcreate -n mysql -L 1G vg0    #建立名为mysql的逻辑卷
  Logical volume "mysql" created.
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# lvcreate -n binlog -L 1G vg0    #建立名为binlog的逻辑卷
  Logical volume "binlog" created.
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# lvs
  LV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home   centos -wi-ao---- 946.99g                                                    
  root   centos -wi-ao----  50.00g                                                    
  swap   centos -wi-ao----   2.00g                                                    
  binlog vg0    -wi-a-----   1.00g                                                    
  mysql  vg0    -wi-a-----   1.00g                                                    
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0 1000G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0  999G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0  947G  0 lvm  /home
sdb               8:16   0   50G  0 disk 
└─sdb1            8:17   0    5G  0 part 
  ├─vg0-mysql   253:3    0    1G  0 lvm  
  └─vg0-binlog  253:4    0    1G  0 lvm  
sr0              11:0    1 1024M  0 rom  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
建立逻辑卷
[root@node105.yinzhengjie.org.cn ~]# mkfs.xfs /dev/vg0/mysql 
meta-data=/dev/vg0/mysql         isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mkfs.xfs /dev/vg0/binlog 
meta-data=/dev/vg0/binlog        isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# blkid 
/dev/sda1: UUID="8464dcda-1c53-46f4-9af1-c5e0b0321eed" TYPE="xfs" 
/dev/sda2: UUID="dvckLL-l1Y6-BQtf-VTx5-NHL7-2Gf0-n2ZzXp" TYPE="LVM2_member" 
/dev/sdb1: UUID="19dBzc-s160-ZgAl-ssGZ-7Mzf-52f3-tAb9jm" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="9a7895fd-f750-43db-a863-052a35542278" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="d5f2e7d3-4917-431b-8679-bcedee595ff9" TYPE="swap" 
/dev/mapper/centos-home: UUID="20688187-61a7-4cae-b9a3-f215ea37a0e8" TYPE="xfs" 
/dev/mapper/vg0-mysql: UUID="34772274-02e8-4943-a2d2-9dad20aa7e8e" TYPE="xfs" 
/dev/mapper/vg0-binlog: UUID="30f93a13-98d4-49bd-896c-98f0b3b6014e" TYPE="xfs" 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mkdir -pv /mydata/{mysql,binlog} 
mkdir: created directory ‘/mydata’
mkdir: created directory ‘/mydata/mysql’
mkdir: created directory ‘/mydata/binlog’
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mount /dev/vg0/mysql /mydata/mysql/      #这是临时挂载,生产环境应该写入"/etc/fstab"
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mount /dev/vg0/binlog /mydata/binlog/
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  52403200 3592648  48810552   7% /
devtmpfs                   929020       0    929020   0% /dev
tmpfs                      941148       0    941148   0% /dev/shm
tmpfs                      941148    8776    932372   1% /run
tmpfs                      941148       0    941148   0% /sys/fs/cgroup
/dev/sda1                 1038336  148576    889760  15% /boot
/dev/mapper/centos-home 992508420  426364 992082056   1% /home
tmpfs                      188232       0    188232   0% /run/user/0
/dev/mapper/vg0-mysql     1038336   32992   1005344   4% /mydata/mysql
/dev/mapper/vg0-binlog    1038336   32992   1005344   4% /mydata/binlog
[root@node105.yinzhengjie.org.cn ~]# 
格式化逻辑卷并挂载到指定路径
[root@node105.yinzhengjie.org.cn ~]# cat /mysql/3306/etc/my.cnf
[mysqld]
log_bin              = /data/logbin/mysql-bin
binlog_format          = STATEMENT
character-set-server      = utf8mb4
default_storage_engine    = InnoDB
port              = 3306
datadir              = /mysql/3306/data
socket              = /mysql/3306/socket/mysql.sock


[mysqld_safe]
log-error        = /mysql/3306/log/mariadb.log
pid-file        = /mysql/3306/pid/mariadb.pid
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# vim /mysql/3306/etc/my.cnf
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# cat /mysql/3306/etc/my.cnf      #我们也能够规划更详细的目录 
[mysqld]
log_bin              = /mydata/binlog/mysql-bin
binlog_format          = STATEMENT
character-set-server      = utf8mb4
default_storage_engine    = InnoDB
port              = 3306
datadir              = /mydata/mysql
socket              = /mydata/mysql/mysql.sock


[mysqld_safe]
log-error        = /mydata/mysql/mariadb.log
pid-file        = /mydata/mysql/mariadb.pid
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# cp -a /data/logbin/*  /mydata/binlog/ 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mydata/binlog/
total 12
-rw-rw---- 1 mysql mysql 351 Nov  5 07:14 mysql-bin.000003
-rw-rw---- 1 mysql mysql 351 Nov  5 07:18 mysql-bin.000004
-rw-rw---- 1 mysql mysql  60 Nov  5 07:14 mysql-bin.index
-rw-rw---- 1 mysql mysql   0 Nov  5 07:18 mysql-bin.state
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# cp -a /mysql/3306/data/*  /mydata/mysql/
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mydata/mysql/
total 176204
-rw-rw---- 1 mysql mysql    16384 Nov  5 07:18 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 Nov  5 07:18 aria_log_control
-rw-rw---- 1 mysql mysql     2926 Nov  5 07:18 ib_buffer_pool
-rw-rw---- 1 mysql mysql 79691776 Nov  5 07:18 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Nov  5 07:18 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Oct 26 22:17 ib_logfile1
-rw-rw---- 1 mysql mysql        0 Oct 26 23:26 multi-master.info
drwx------ 2 mysql mysql     4096 Oct 26 22:17 mysql
-rw-rw---- 1 mysql mysql    29032 Oct 26 22:17 mysql-bin.000001
-rw-rw---- 1 mysql mysql       19 Oct 26 22:17 mysql-bin.index
-rw-rw---- 1 mysql mysql        7 Oct 26 22:17 mysql-bin.state
-rw-rw---- 1 mysql mysql     3880 Nov  4 18:48 node105.log
-rw-rw---- 1 mysql mysql      948 Nov  4 17:41 node105-slow.log
drwx------ 2 mysql mysql       20 Oct 26 22:17 performance_schema
drwx------ 2 mysql mysql      272 Nov  4 22:03 yinzhengjie
[root@node105.yinzhengjie.org.cn ~]# 
修改MySQL实例的配置文件并将数据文件和二进制文件拷贝到逻辑卷路径中
[root@node105.yinzhengjie.org.cn ~]# ll /mydata/
total 0
drwxr-xr-x 2 root root 100 Nov  5 08:08 binlog
drwxr-xr-x 5 root root 326 Nov  5 08:06 mysql
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# chown mysql:mysql -R /mydata/
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ll /mydata/
total 0
drwxr-xr-x 2 mysql mysql 100 Nov  5 08:08 binlog
drwxr-xr-x 5 mysql mysql 326 Nov  5 08:06 mysql
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# /mysql/3306/mysqld start
Starting MySQL...
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      80                                          :::3306                                                    :::*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# 
[root@node105.yinzhengjie.org.cn ~]# mysql -uroot -pyinzhengjie -S /mydata/mysql/mysql.sock
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.2.19-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> SHOW BINARY LOGS;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000003 |       351 |
| mysql-bin.000004 |       351 |
| mysql-bin.000005 |       328 |
+------------------+-----------+
3 rows in set (0.00 sec)

MariaDB [(none)]> 
MariaDB [(none)]> SYSTEM ls /mydata/binlog
mysql-bin.000003  mysql-bin.000004  mysql-bin.000005  mysql-bin.index
MariaDB [(none)]> 
MariaDB [(none)]> 
修改相应的权限并启动数据库

 

 

6>.备份完成后,删除快照卷

 

7>.制定好策略,经过原卷备份二进制日志

相关文章
相关标签/搜索