Code前端首页关于Code前端联系我们

mysql数据库源文件,如何查找数据库源文件

terry 2年前 (2023-09-30) 阅读数 44 #Mysql
文章标签 Mysql

本文内容列表:

  • 1.如何备份mysql?
  • 2、mysql数据库文件位于哪个目录?为什么我找不到它?
  • 3、MySQL数据库文件存放在哪里,后缀是什么?
  • 4. MySQL数据库文件有多少种类型?它们的扩展和功能是什么?

如何备份mysql

数据备份是数据灾难恢复的最后一道防线。即使是两地三中心的结构,备份仍然很重要。如果备份出现问题,备份过程中交易业务就会受到影响,备份数据无法恢复,这对于业务来说是难以承受的。所以选择合适的备份工具就显得尤为重要。

所有企业级数据库都会有备份支持工具。 MEB(MySQL Enterprise Backup)是MySQL企业版中非常重要的工具之一。它是为企业级客户提供的备份解决方案。

Xtrabackup 一直作为 MEB 开源版本的备份而存在。从MySQL 8.0开始,情况可能有所不同。

支持MySQL 8.0中的备份锁定、重做日志归档和页面跟踪等新功能,MEB备份/恢复体验将更好。目前xtrabackup不支持这些功能。

MySQL 企业版还有哪些其他功能?

特性一:备份锁

8.0之前,物理备份使用xtrabackup或MEB。为了保证备份时InnoDB引擎表、其他引擎数据文件和binlog的一致性,应用了全局读锁,然后复制非InnoDB。文件,在此期间MySQL将处于只读状态,无法写入数据。桌子越多,花费的时间就越长。如果不小心使用了xtrabackup,没有添加rsync参数,将frm文件逐一复制,锁定时间会更长,对业务影响较大。

我曾经遇到过一个部署在虚拟机中的实例有超过12000张表。我当时使用的Xtrabackup没有在备份脚本中添加rsync参数。导致被锁了十多分钟,但是MEB没有这个问题。

MySQL 8.0支持轻量级备份锁LOCK INSTANCE FOR BACKUP,数据字典也由InnoDB重构存储。如果没有创建非InnoDB表,MEB默认使用备份锁来实现binlog一致性位置并防止DDL操作,但不影响DML操作。

仅InnoDB表,仅备份锁定

请点击进入镜像描述

如果是非InnoDB表,全局锁定

请点击进入镜像描述

功能2:恢复日志归档

MEB功能实现在线热备份,备份不影响数据库的读写。这使用InnoDB事务日志在备份期间持续监视重做日志中的更改,读取增量更改并将其写入ibbackup_logfile,因此不需要锁定。确保备份一致性。 (非InnoDB文件需要读锁副本)

如果备份时数据库写负载特别重,并且ibbackup_logfile写入速度慢,重做日志大小不大,很可能ibbackup_logfile 的写入速度将比重做日志文件慢。如果恢复日志记录生成率不够,则当重做日志空间不足时必须覆盖日志文件。那么没有及时写入ibbackup_logfile的记录就会丢失,导致备份失败。

MEB 4.1对此进行了优化,将重做日志处理线程拆分为多线程工作共享,提高了重做日志处理效率,降低了重做日志覆盖导致备份错误的概率,但重做日志新增速度和ibbackup_logfile的写入速度差异很大,仍然会出现该问题。

MySQL 8.0.17支持重做日志归档,彻底解决了这个问题。备份前设置innodb_redo_log_archive_dirs并指定重做日志归档目录。 MEB 备份期间自动启用日志归档。在检查点期间,旧的记录会被归档到该目录中,稍后会从归档文件中读取重做日志记录,以避免因覆盖而可能导致的重做记录丢失。

请点击进入图片说明

注意:innodb_redo_log_archive_dirs不能在数据目录下,目录权限要求为700

功能3:页面跟踪

优化页面跟踪备份效率,减少不必要的数据页扫描。

增量备份目前有3种扫描模式:

page-track:使用LSN准确跟踪自上次备份以来发生变化的页面,并只复制那些页面,效率最快。

乐观:扫描自上次备份以来发生变化的InnoDB数据文件,找到并复制发生变化的页面。取决于系统时间,使用受到限制。

全扫描:扫描所有InnoDB数据文件,查找并复制自上次备份以来发生变化的页面,效率最慢

1。要使用侧轨增量备份,请先安装备份组件

mysql INSTALL COMPONENT "";

2.全量备份前启用页面跟踪

SELECT mysqlbackup_page_track_set(true);

3.全量备份后,在做增量备份时,指定如果满足页跟踪条件,则使用页作为默认跟踪模式,否则使用全扫描模式。您还可以指定 --incremental=page-track。

mysqlbackup --incremental-backup-dir=backup_incr --trace=3 --incremental=page-track --incremental-base=history:last_full_backup 备份

incremental-base 有 3 个选项 _ 基于其他备份在之前的备份上。先前的备份可以是附加备份或完整备份。这样,全备份之间可以有多个备份,每一步都可以比较小,但恢复时必须一一合并。

last_full_backup:基于之前的全备份创建多个备份。这样,备份卷可以随着时间的推移而增长,但恢复期间只需要合并最后的增量备份。

目录:以上次备份目录为基础,上次备份可以是增量备份,也可以是全量备份。

测试比较了全扫描和侧跟踪。当变化的页面少于总数的50%时,备份效率至少可以提高一倍。

侧轨模式。磁盘的读写是平衡的,说明所有的读写都是修改页。

请点击进入图像描述

全扫描模式。磁盘读取和写入的差异非常大,表明读取了许多未修改的页面。

请点击进入图片描述

mysql数据库文件在哪个目录?我找不到

1。如果MySQL使用MyISAM存储引擎,则数据库文件类型包括.frm、.MYD和.MYI。默认存储位置为 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data

2. 如果MySQL使用InnoDB存储引擎,则MySQL数据库文件类型包括.frm、ibdata1和.ibd。有两个存储空间。

.frm 文件的默认存储位置为 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data,ibdata1 和 .ibd 文件的默认存储位置为 MySQL 中的 data 文件夹安装目录

MySQL数据库文件位于哪里?后缀是什么?

默认的 MySQL 数据库存储在文件夹...\MySQL\MySQL Server 5.5\data 中。

数据库是一个目录,目录下的一张表对应三个文件。文件名是表名,文件类型有.frm、.MYD、.MYI((数据文件:.myd)、(索引文件:.MYI)、(表定义文件:.frm))。

扩展信息

常用mysql命令:

1:使用SHOW语句查看服务器上当前有哪个数据库:

mysql SHOW DATABASES;创建数据库 MYSQLDATA

mysql CREATE DATABASE MYSQLDATA;

3:选择您创建的数据库

mysql USE MYSQLDATA; (当回车后显示Databasechanged,则操作成功!)

4:查看当前数据库表中有哪些内容

mysql SHOW TABLES;

5:创建数据库表

mysql CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:显示表的结构:

mysql DESCRIBE MYTABLE;

7:向表中添加记录lsql into MYTABLE-values("hyq","M");

8:以文本方式加载数据到数据库表中(例如D:/mysql.txt)

mysql LOAD DATA LOCAL INFIL "D : /mysql.txt" INTO TABLE MYTABLE;

9: 导入.sql文件命令(如D:/mysql.sql)

mysqluse数据库;

mysqlsource d:/mysql.sql;

10:删除表

mysqldrop TABLE MYTABLE;

参考:百度百科-MYSQL数据库MySHV有几种类型?扩展和功能是什么?

在MySQL中,每个数据库都会在定义的(或默认的)数据目录下有一个以数据库名称命名的文件夹,用于存放数据库中的各种表数据文件。

1。 “.frm”文件与表相关的元数据(meta)信息存储在“.frm”文件中,包括表结构的定义信息等。无论何种存储引擎,每个表都会有一个“.frm” “ ”文件以表名命名。所有“.frm”文件都存储在所属数据库的文件夹下。

2.“.MYD”文件“.MYD”文件专用于MyISAM存储引擎并存储MyISAM表的数据,每个MyISAM表都会有一个对应的“.MYD”文件,该文件也与“.frm”文件一起存储在所属数据库的文件夹中。

3 “.MYI”文件 “.MYI”文件也是MyISAM存储引擎独有的,主要存储MyISAM表的索引相关信息,对于MyISAM存储来说,可缓存的内容主要来自“.MYI”文件。每个MyISAM表对应一个“.MYI”文件,该文件与“.frm”和“.MYD”存储在同一位置。

管理工具:

可以使用命令行工具来管理MySQL数据库(命令 mysql 和 mysqladmin),或者您可以从 MySQL 网站下载图形管理工具 MySQL Administrator、MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是一个用PHP编写的MySQL数据库系统管理程序,它允许管理员通过Web界面管理MySQL数据库。

phpMyBackupPro 也是用 PHP 编写的,可以通过 Web 界面创建和管理数据库。它可以创建伪cronjobs,用于在特定时间或周期自动备份MySQL数据库。另外还有其他GUI管理工具,比如mysql-front、ems mysql manager、navicat等。

以上内容参考:百度百科-mySQL

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门