您的当前位置:首页正文

使用LVM备份和还原Mariadb数据库

2023-11-09 来源:帮我找美食网

mysqldump进行对比介绍LVM快照卷

Mysqldump:无法进行热备份,数据库较大时备份时间较长,优点就是备份恢复非常的简单。

LVM优缺点如下:

优点:

1、几乎热备,只是在备份的时候为了方式产生数据不一致问题,需要锁定数据库。

2、支持所有存储引擎,因为LVM备份的原理只是拷贝文件

3、备份和恢复速度块,因为备份和恢复的原理只是拷贝文件。

缺点:

1、数据库必须放在LVM逻辑卷上

2、如果是生产环境有用户启动了事务,那么锁定数据库的过程可能需要很长的时间,而且也无法准确获得数据库停止时间

 

使用快照卷备份Mariadb

备份的前提条件:mysql的数据必须放在LVS逻辑卷之上,否则无法实现LVS备份。

 

如果使用LVS对单个数据库进行备份的话,需要使用innodb存储引擎,因为innodb存储引擎是每表一个表文件。

MariaDB[(none)]> SHOW GLOBAL VARIABLES LIKE ‘innodb_file_%‘;+--------------------------+----------+|Variable_name            | Value    |+--------------------------+----------+|innodb_file_format       | Antelope ||innodb_file_format_check | ON       ||innodb_file_format_max   | Antelope ||innodb_file_per_table    | ON       |+--------------------------+----------+

备份六步走:

1、请求锁定所有表:

主要是为了防止在备份过程中有用户修改数据,造成备份和原数据的不一致性,需要在备份之前锁定表,防止用户修改,备份完成之后在解锁。

MariaDB[(none)]> FLUSH TABLES WITH READ LOCK;

说明:如果是生产环境有用户启动了事务,那么锁定数据库的过程可能需要很长的时间。

2、记录二进制日志文件及事件位置:

备份完成之后滚动日志,然后记录日志文件的位置,

MariaDB [(none)]> flush logs;MariaDB [(none)]> show master status;+------------------+----------+--------------+------------------+| File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000002 |      245 |              |                  |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)
3、创建快照:

创建快照卷,这里使用的是额外启动的终端,因为数据库一旦退出,锁就释放了。

[root@MariaDB ~]# lvcreate -L 200M -n mydata-snap-s -p r /dev/myvg/mydata
4、释放锁:
MariaDB[(none)]> UNLOCK TABLES;
5、挂载快照卷,复制数据进行备份;

挂载快照卷

[root@MariaDB ~]# mkdir /snap[root@MariaDB ~]# mount /dev/myvg/mydata-snap/snap/[root@Mariadb ~]# ls /snap/data/aria_log.00000001 ibdata1      Mariadb.err  mysql-bin.000001  performance_schemaaria_log_control   ib_logfile0 Mariadb.pid  mysql-bin.000002  testhellodb           ib_logfile1  mysql        mysql-bin.index

复制数据进行备份

只是备份单个库使用

[root@MariaDB ~]# rsync -a /snap/data/hellodb//backup/hellodb-`date +%F-%H-%M-%S`[root@Mariadb ~]# ls /backup/hellodb-2015-05-28-02-57-12/hellodb/classes.frm coc.MYD      courses.MYI  scores.MYI   tb1.frm       toc.frmclasses.MYD coc.MYI      db.opt       students.frm  teachers.frm toc.MYDclasses.MYI courses.frm  scores.frm   students.MYD teachers.MYD  toc.MYIcoc.frm     courses.MYD  scores.MYD   students.MYI teachers.MYI

备份整个库

[root@MariaDB ~]# rsync -a /snap/data/*/backup/mariadb-all-`date +%F-%H-%M-%S`[root@Mariadb ~]# ls/backup/mariadb-all-2015-05-28-02-57-51/aria_log.00000001 ibdata1      Mariadb.err  mysql-bin.000001  performance_schemaaria_log_control  ib_logfile0  Mariadb.pid  mysql-bin.000002  testhellodb           ib_logfile1  mysql        mysql-bin.index
6、备份完成之后,删除快照卷;
[root@Mariadb ~]# umount /snap/[root@Mariadb ~]# lvremove /dev/myvg/mydata-snapDo you really want to remove active logical volumemydata-snap? [y/n]: y
模拟误删除

备份完成之后修改了一些数据

MariaDB [hellodb]> drop table tb1;MariaDB [hellodb]> create table tb2 (id int);MariaDB [hellodb]> insert into tb2 values(1),(2),(3);MariaDB [hellodb]> select * from tb2;+------+| id   |+------+|    1 ||    2 ||    3 |+------+

3 rows in set (0.00 sec)

修改完成之后把hellodb数据库误删除了

MariaDB [hellodb]> drop database hellodb;

然后还把整个数据库误删除了(说明:如果是生产环境二进制日志文件和数据文件一定是分开存放的,但是实验安装时如果是二进制日志文件和数据目录在一起,应该先复制一份二进制日志文件到备份目录)

[root@MariaDB ~]# rm -rf/mydata/data/*
数据库故障恢复

Mysql出现大故障时,最好停掉数据库,如果无法停止就杀死进程

[root@MariaDB ~]# service mysqld stopMySQL server PID file could not be found!                  [FAILED][root@MariaDB ~]# killall mysqldmysqld: no process killed

从二进制日志文件中导出所有和hellodb数据库相关的操作。

导出之前需要去掉误删除语句,查看语句在二进制日志文件中的记录位置

MariaDB [(none)]> show binlog events in‘mysql-bin.000002‘G;*************************** 7. row***************************   Log_name:mysql-bin.000003        Pos:642 Event_type:Query  Server_id:1End_log_pos: 729       Info:drop database hellodb7 rows in set (0.00 sec)

得到语句记录位置之后,不导出记录删除位置

[root@Mariadb ~]# mysqlbinlog --stop-position=729/mydata/data/mysql-bin.000002 > /backup/lvm.sql

复制所有备份的文件和目录到数据目录下

[root@MariaDB ~]# cp -a /backup/mariadb-all-2015-05-28-02-57-51/*/mydata/data/[root@MariaDB ~]# ll /mydata/data/total 28764-rw-rw---- 1 mysql mysql    16384 May 27 22:30 aria_log.00000001-rw-rw---- 1 mysql mysql       52 May 27 22:30 aria_log_controldrwx------ 2 mysql mysql     4096 May 28 00:49 hellodb-rw-rw---- 1 mysql mysql 18874368 May 28 00:49ibdata1-rw-rw---- 1 mysql mysql  5242880 May 28 00:49 ib_logfile0-rw-rw---- 1 mysql mysql  5242880 May 27 22:34 ib_logfile1-rw-r----- 1 mysql root      5674 May 28 00:43 MariaDB.err-rw-rw---- 1 mysql mysql        5May 28 00:43 MariaDB.piddrwx------ 2 mysql root      4096 May 27 22:30 mysql-rw-rw---- 1 mysql mysql      632 May 27 23:12 mysql-bin.000001-rw-rw---- 1 mysql mysql     8667 May 27 23:22 mysql-bin.000002-rw-rw---- 1 mysql mysql      114 May 28 00:50 mysql-bin.indexdrwx------ 2 mysql mysql     4096 May 27 22:30 performance_schemadrwx------ 2 mysql root      4096 May 27 22:30 test

这个时候启动mysqld服务就可以看到备份之前的数据了

[root@MariaDB ~]# mysql -u root -pMariaDB [(none)]> use hellodb;MariaDB [hellodb]> show tables;+-------------------+| Tables_in_hellodb |+-------------------+| classes          || coc              || courses          || scores           || students         || tb1              || teachers         || toc              |+-------------------+MariaDB [hellodb]> select * from tb1;+------+| id   |+------+|    1 ||    2 ||    3 ||   21 ||   22 ||   23 |+------+6 rows in set (0.01 sec)

恢复的数据只是备份之前的数据,备份之后更改的数据还没有回了,这个时候就需要导入二进制日志转换成的sql文件了

[root@MariaDB ~]# mysql -u root -p </backup/lvm.sql

查看数据就可以看到tb2了

MariaDB [hellodb]> show tables;+-------------------+| Tables_in_hellodb |+-------------------+| classes          || coc              || courses          || scores           || students         || tb2               || teachers         || toc              |+-------------------+MariaDB [hellodb]> select * from tb2;+------+| id   |+------+|    1 ||    2 ||    3 |+------+

 

 

本文出自 “梅花香自苦寒来” 博客,请务必保留此出处http://ximenfeibing.blog.51cto.com/8809812/1664768

使用LVM备份和还原Mariadb数据库

标签:lvm快照卷   数据库备份   

小编还为您整理了以下内容,可能对您也有帮助:

mysql如何备份数据库

有关于数据备份,推荐您使用Navicat,它提供“人工备份”和“自动备份”两大备份功能。

Navicat Premium 是一套可创建多个连接的数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 。它与 OceanBase 数据库及 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。你可以快速轻松地创建、管理和维护数据库。

以下送上保姆级教程,希望对用户们有帮助。

人工备份

1.先在左侧的导航窗格中点击需要备份的内容所在的database。

2.再在主工具栏中点击“备份”按钮。

3.然后在对象工具栏中点击“新建备份”。

4.然后在弹出的窗格中点击“对象选择”,并勾选您希望备份的对象。

5.勾选完对象后,点击“备份”。

6.等待备份完成后,在“信息日志”中会显示“finished successfully",最后点击“关闭”。

7.当然,您也可以在点击”关闭“前,点击左下角的”保存“,这会将此次的备份设置保存为一个配制文件。

8.备份完成。

自动备份

1. 若是希望可以对刚才的对象执行自动备份,请点击”自动运行“。

2. 点击”新建批处理作业"。

3. 然后选择“备份”,然后点击对于的database,在“可用的工作”中找到刚刚创建的配置文件并双击它。(此处是双击"b1")

4. 双击“b1”后,会在“已选择的工作”中显示此配置文件。(也可以在“可用的工作”中双击多个文件进行备份)

5. 选择完需要备份的配置文件后,点击“保存”并命名配置文件。

6. 保存完后,还可以设置备份时间表,点击“设置任务计划”(此选项只有点击保存后才会显示)。

7. 点击“触发器”。

8. 设置需要自动备份的时间表,设置完后,点击“确定”。

9. 然后,点击“开始”,可以进行一次备份。

10. 点击“对象”,可以看到我们刚刚保存的自动运行的配置文件。

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)

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)

Navicat for MySQL 有哪些常用功能

Navicat for MySQL 是
一套管理和开发 MySQL 或 MariaDB 的理想解决方案,支持单一程序,可同时连接到
MySQL和MariaDB。这个功能齐备的前端软件为数据库管理、开发和维护提供了直观而强大的图形界面,给 MySQL 或 MariaDB
新手以及专业人士提供了一组全面的工具。主要功能包括 SQL 创建工具或编辑器、数据模型工具、数据传输、导入或导出、数据或结构同步、报表等。

SQL 创建工具或编辑器

Navicat SQL 创建工具

SQL 创建工具:视觉化 SQL 创建工具创建和编辑查询或视图,不必担心语法和正确命令的用法。选择需要在表中执行的操作,自动编写 SQL 语句。

Navicat for MySQL自动完成代码

自动完成代码:使用自动完成代码功能,能快速地在 SQL 编辑器中创建 SQL 语句。无论选择数据库对象的属性或 SQL 关键字,只需从下拉列表中选择。

数据库设计器

Navicat for MySQL逆向工程

逆向工程:使用 Navicat for MySQL逆向工程,可从一个现有的数据库创建数据库模型,可视化地显现和编辑数据库结构或创建一个图形模型,并由模型生成一个数据库。

Navicat for MySQL正向工程和生成脚本

正向工程和生成脚本:同步到数据库功能可充分了解所有数据库的差异,生成必要的同步脚本来更新目标数据库,并使其与模型相同。导出 SQL 有机会全面控制最终的 SQL 脚本,生成参照完整性规则,生成模型的独立部份、注释、字符集等,可大大节省工作时间。

数据处理工具

导入或导出向导:从不同格式的文件导入数据到表,例如 Access、Excel、XML、TXT、CSV、JSON
及更多。而且在设置数据源连接后,可以从 ODBC
导入数据。只需简单地选择需要导入的表,或使用添加查询按钮指定查询。同样可以将数据导出到各种格式,如 Excel、TXT、CSV、DBF、XML
等。

Navicat for MySQL数据传输

数据传输:在多个数据库间轻松地传输数据,可以选择指定的 SQL 格式和编码导出数据为 SQL 文件,这个功能可大大的简化迁移数据的进程。

Navicat 数据或结构同步

数据或结构同步:从一个数据库中详细的分析进程传输数据到另外一个数据库,同样可以对比并修改表的结构。在数据和结构同步中,目标数据库可以在源服务器,也可以在其他的服务器。

Navicat for MySQL备份或还原

备份或还原:定期备份数据库对用户涞水相当重要,备份或还原全部表、记录、视图等。如果数据损坏,不用再重做,高枕无忧。

报表创建工具或查看器 只限于 Windows 版本

Navicat for MySQL 报表创建工具

使用用户友好 GUI 报表创建工具创建各种不同类型的报表,设计*、统计、邮寄标签及更多其他报表。输出报表到多种格式,如 text、PDF、Lotus、Excel、Graphic、Html 等。

Navicat for MySQL 有哪些常用功能

Navicat for MySQL 是
一套管理和开发 MySQL 或 MariaDB 的理想解决方案,支持单一程序,可同时连接到
MySQL和MariaDB。这个功能齐备的前端软件为数据库管理、开发和维护提供了直观而强大的图形界面,给 MySQL 或 MariaDB
新手以及专业人士提供了一组全面的工具。主要功能包括 SQL 创建工具或编辑器、数据模型工具、数据传输、导入或导出、数据或结构同步、报表等。

SQL 创建工具或编辑器

Navicat SQL 创建工具

SQL 创建工具:视觉化 SQL 创建工具创建和编辑查询或视图,不必担心语法和正确命令的用法。选择需要在表中执行的操作,自动编写 SQL 语句。

Navicat for MySQL自动完成代码

自动完成代码:使用自动完成代码功能,能快速地在 SQL 编辑器中创建 SQL 语句。无论选择数据库对象的属性或 SQL 关键字,只需从下拉列表中选择。

数据库设计器

Navicat for MySQL逆向工程

逆向工程:使用 Navicat for MySQL逆向工程,可从一个现有的数据库创建数据库模型,可视化地显现和编辑数据库结构或创建一个图形模型,并由模型生成一个数据库。

Navicat for MySQL正向工程和生成脚本

正向工程和生成脚本:同步到数据库功能可充分了解所有数据库的差异,生成必要的同步脚本来更新目标数据库,并使其与模型相同。导出 SQL 有机会全面控制最终的 SQL 脚本,生成参照完整性规则,生成模型的独立部份、注释、字符集等,可大大节省工作时间。

数据处理工具

导入或导出向导:从不同格式的文件导入数据到表,例如 Access、Excel、XML、TXT、CSV、JSON
及更多。而且在设置数据源连接后,可以从 ODBC
导入数据。只需简单地选择需要导入的表,或使用添加查询按钮指定查询。同样可以将数据导出到各种格式,如 Excel、TXT、CSV、DBF、XML
等。

Navicat for MySQL数据传输

数据传输:在多个数据库间轻松地传输数据,可以选择指定的 SQL 格式和编码导出数据为 SQL 文件,这个功能可大大的简化迁移数据的进程。

Navicat 数据或结构同步

数据或结构同步:从一个数据库中详细的分析进程传输数据到另外一个数据库,同样可以对比并修改表的结构。在数据和结构同步中,目标数据库可以在源服务器,也可以在其他的服务器。

Navicat for MySQL备份或还原

备份或还原:定期备份数据库对用户涞水相当重要,备份或还原全部表、记录、视图等。如果数据损坏,不用再重做,高枕无忧。

报表创建工具或查看器 只限于 Windows 版本

Navicat for MySQL 报表创建工具

使用用户友好 GUI 报表创建工具创建各种不同类型的报表,设计*、统计、邮寄标签及更多其他报表。输出报表到多种格式,如 text、PDF、Lotus、Excel、Graphic、Html 等。

Linux运维工程师必学技能

成长一名Linux工程师之后,才知道一路走来,背后的心酸。非常感谢支持我的同伴与老师,是你们鼓励我,才在这个行业立足。 如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业。Centos是RHEL的克隆版本,免费使用,二个发行版没有任何区别。成长为一名Linux工程师,只需要掌握以下方面的技能,那日常工作一点问题都没有。 1.扎实的基础 试想如果没有最扎实的基础,如何去查看文件类型、查看系统运行状态、编辑文件、输出文件、创建用户、分配帐户权限、使用RAID技术和LVM磁盘阵列等最最基础的知识,一定要掌握扎实,才能走的更远。 2.搭建服务 在Linux上面的服务有许多种,而每个公司使用到的也不尽相同,不过最常见且基础的一定要学会,像ftp、Bind、DHCP、SAMBA服务要了解会简单配置,而LNMP和LAMP要相当的熟练,不光要会搭建,要熟悉服务里面的配置,每个公司都会用的到Web服务器,因此apache和nginx要熟练掌握,有些公司会使用到tomcat,这样nginx技术更要求精。公司的网络大致已经部署完成,不需要考虑网络的问题,而对于网络基础差,甚至于IP、子网掩码都不懂,那另请拿起CCNA的书籍学习下。 3.会脚本语言 Shell语言是你从事这个行业必须要会的,假如这个都不会,那么你还是洗洗睡觉吧。一些简单的系统管理shell脚本也是最常见的、使用到的。不要以为会看CPU利用率、内存使用率等这些数字,实际可能并不能解决你的问题,最有意义的还是系统脚本。另一个使用到的语言就是当下比较火的python,程序效率高、语法简洁清晰等优点,实现我们的自动化运维。 4.操纵文本文件命令:sed、awk、grep 这三个强大命令被称为Linux界的三剑客。sed和awk这二个也必须要掌握,工作当中使用的也是最多的。grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行并打印出来。sed是一个精简的、非交互式的编辑器,它能执行与编辑vi和emacs相同的编辑任务,但sed编辑器不提供交互使用方式,只能在命令行下输入编辑命令。awk是一种程序语言,对文档资料的处理具有很强的功能,awk擅长从格式化报文或从一个大的文本文件中抽取数据。同时需要掌握正则表达式,配合sed和awk当中使用功能会更强大,在处理文本文字和过滤web时十分的有用。 5.MariaDB数据库 之前在Linux上面使用最多的数据库是MYSQL,悲催是的MYSQL数据库管理系统被Oracle公司收购后 从开源走向到了封闭,导致包括红帽在内的许多Linux发行版选择了MariaDB。无论使用那种数据库,你都得需要掌握数据的创建、删除、添加、查询、备份和恢复,这些基础的命令。 6.Firewalld和Iptables 在红帽RHEL7系统中Firewalld服务取代了Iptables服务,在老的服务器版本上面Iptables依然存在,也都需要学会使用该防火墙。真是不学不行,防火墙是个难点,各种规则,你一定会头晕。为了保证Linux系统的安全运行,防火墙必须走过的砍。 7.监控zabbix与nagios 服务器运行情况实时反馈,完全依赖有一个好的监控工具,发现问题可以第一时间及时有效的处理,避免更大的损失。对于初学者,Nagios简单直观更容易上手,但是zabbix界面更美观,同时由于功能多上手也更难。对于企业的监控应用来说,两者都能实现大规模监控,都足以满足用户需求,没有绝对的孰好孰坏。Zabbix是商业软件开源,Nagios是免费软件插件组合多。还是都学吧!8.rsync备份数据 数据是企业最具价值的资产,自然要保护好数据。RAID的原理要懂会配置,知道企业的数据结构,多种备份方式保证数据的安全。rsync保持原来文件的权限、时间、软硬链接等等,可以镜像保存整个目录树和文件系统。有了备份无论设备出现任何故障,你都可以从备份当中还原出来原始数据。 掌握这些技术,已经可以胜任一个运维工程师的工作,欢迎“入坑”Linux运维。能坚持到这里实属不易,学习Linux最重要的就是敲键盘,不像Windows那样图形化点来点去的,优点就是Linux无图形化比较节省内存,而对于Linux新手们,建议你们不要裸机安装Linux系统,学习Linux就是找虐的,可能一些误操作造成数据丢失或者需要搭建测试服务需要把之前配置的东西删除掉等等吧,还是虚拟机拿来各种鼓捣,可以快速恢复到之前的快照,提高自己的学习效率。祝你好运,早日成为一名Linux运维攻城狮。

navicat 怎么备份数据库

Navicat | 关于备份和还原 

一个安全和可靠的服务器是与定期运行备份有密切的关系,因为由攻击、硬体故障、人为错误、电力中断等引致的错误

有可能随时发生。 

Navicat 为用户提供一个内置备份和还原工具用于备份或还原 MySQL、PostgreSQL、SQLite 和 MariaDB 数据库对

象。对于 Oracle、SQL Server 和 MongoDB,用户可以使用以下的功能。

 • Oracle 数据泵

 • SQL Server 备份和还原

• MongoDump 和 MongoRestore

内置备份和还原工具(仅适用于非 Essentials 版) 

关于内置备份和还原工具

内置备份和还原工具让你备份或还原你数据库内的对象。你可以将设置保存为一个配置文件以供将来使用或用作设置自

动运行任务。在主窗口中,点击 “备份”来打开备份的对象列表。 

【提示】备份文件保存于设置位置。若要打开该文件夹,请右键单击备份文件,然后选择“打开所在的文件夹”。 

【注意】仅适用于 MySQL、PostgreSQL、SQLite 和 MariaDB。

具体内容去官网下载用户手册。

Top