mysql數據庫源文件,怎樣找到數據庫源文件

本文目錄一覽:

mysql到底如何備份

數據備份是數據容災的最後一道防線,即便有着兩地三中心的架構,備份也依然重要。如果備份出問題,備份時影響了交易業務,備份數據無法恢復,這些也是企業難以承受的。所以選擇合適的備份工具尤為重要。

每個企業級數據庫都會有配套的備份工具,MEB(MySQL Enterprise Backup)就是MySQL企業版中非常重要的工具之一,是為企業級客戶提供的數據備份方案。

Xtrabackup一直作為MEB 開源版備胎而存在,從MySQL 8.0開始情況可能會變得有所不同。

在 MySQL 8.0的Backup Lock、Redo Log Archiving、Page Tracking等新特性的加持下,MEB備份/恢復體驗會更好,目前xtrabackup還不支持這些特性。

MySQL 企業版還有哪些功能?

特性1:Backup Lock

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:Redo Log Archiving

MEB能做到在線熱備,備份時不影響數據庫讀寫,這是利用了InnoDB事務日誌,在備份期間持續監視redo log的變化,讀取增量變化,寫入到ibbackup_logfile,也就不需要上鎖來保障備份一致性。(對非InnoDB的文件需要上讀鎖拷貝)

如果備份期間數據庫寫入負載特別大,而寫入ibbackup_logfile速度較慢,redo log size也不大,很可能會出現ibbackup_logfile的寫入速度跟不上redo log記錄生成速度,redo log 空間不夠時需要覆寫日誌文件,那麼來不及寫入ibbackup_logfile的記錄會丟失,導致備份失敗。

MEB 4.1對此做了優化,將redo log處理線程拆分成多線程分工合作,提高處理redo log的效率,降低了redo log覆寫造成備份失敗的概率,但redo log新增速度和ibbackup_logfile寫入速度懸殊太大,問題依然會發生。

MySQL 8.0.17支持了redo log archiving 徹底解決了此問題,備份前設置innodb_redo_log_archive_dirs,指定redo log歸檔目錄。MEB備份時自動開啟日誌歸檔,當checkpoint時會將舊記錄歸檔到此目錄,後續從歸檔文件中讀取redo日誌記錄,避免了覆寫可能導致的redo記錄丟失。

請點擊輸入圖片描述

注意:innodb_redo_log_archive_dirs 不能在數據目錄下,目錄權限要求是700

特性3:Page Tracking

Page Tracking 是為優化增量備份效率,減少不必要的數據頁掃描。

增量備份當前有3種掃描模式:

page-track:利用LSN精確跟蹤上次備份之後被修改頁面,僅複製這些頁面,效率最快。

optimistic:掃描上次備份之後被修改的InnoDB 數據文件中,找出並拷貝修改的頁面。依賴系統時間,使用存在限制。

full-scan:掃描所有InnoDB數據文件,找出並拷貝自上次備份之後修改的頁面,效率最慢

1、利用page-track增量備份,需先安裝備份組件

mysql INSTALL COMPONENT “”;

2、在全備前開啟page-track

SELECT mysqlbackup_page_track_set(true);

3、全備之後,做增量備份時指定若滿足page tracking條件,默認會使用page-track模式,否則會使用full-scan模式,也可以指定–incremental=page-track。

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

incremental-base有3種選擇

last_backup:基於前一次備份做增備,前一次備份可能是增備,也可能是全備。這種方式全備之間可能會有多個增備,每次增量可能比較小,但恢復時需要逐個合併。

last_full_backup:基於前一次全備做增備。這種方式增備會越往後體積可能越大,但恢復時只需要合併最後一次增量備份。

dir:基於前一次的備份目錄,前一次備份可能是增備,也可能是全備。

測試對比full-scan 和page-track ,在變更頁小於總體50%的情況下 ,備份效率至少能有1倍的速度提升。

page-track 模式 磁盤讀寫均衡,說明讀寫的都是修改頁面。

請點擊輸入圖片描述

full-scan模式 磁盤讀寫差別很大,說明讀了很多未修改的頁面。

請點擊輸入圖片描述

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;

2:2、創建一個數據庫MYSQLDATA

mysql CREATE DATABASE MYSQLDATA;

3:選擇你所創建的數據庫

mysql USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)

4:查看現在的數據庫中存在什麼表

mysql SHOW TABLES;

5:創建一個數據庫表

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

6:顯示錶的結構:

mysql DESCRIBE MYTABLE;

7:往表中加入記錄

mysql insert into MYTABLE values (”hyq”,”M”);

8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)

mysql LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;

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

mysqluse database;

mysqlsource d:/mysql.sql;

10:刪除表

mysqldrop TABLE MYTABLE;

參考資料:百度百科-MYSQL數據庫

MySQL的數據庫文件有幾種?擴展名及作用分別是什麼?

在MySQL中每一個數據庫都會在定義好(或者默認)的數據目錄下存在一個以數據庫名字命名的文件夾,用來存放該數據庫中各種表數據文件。

1、“.frm”文件 與表相關的元數據(meta)信息都存放在“.frm”文件中,包括表結構的定義信息等。不論是什麼存儲引擎,每一個表都會有一個以表名命名的“.frm”文件。所有的“.frm”文件都存放在所屬數據庫的文件夾下面。

2、“.MYD”文件“ .MYD”文件是MyISAM存儲引擎專用,存放MyISAM表的數據。每一個MyISAM表都會有一個“.MYD”文件與之對應,同樣存放於所屬數據庫的文件夾下,和“.frm”文件在一起。

3、“.MYI”文件 “.MYI”文件也是專屬於MyISAM存儲引擎的,主要存放MyISAM表的索引相關信息。對於MyISAM存儲來說,可以被cache的內容主要就是來源於“.MYI”文件中。每一個MyISAM表對應一個“.MYI”文件,存放於位置和“.frm”以及“.MYD”一樣。

管理工具:

可以使用命令行工具管理 MySQL 數據庫(命令 mysql 和 mysqladmin),也可以從 MySQL 的網站下載圖形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是由 php 寫成的 MySQ L資料庫系統管理程程序,讓管理者可用 Web 界面管理 MySQL 資料庫。

phpMyBackupPro也是由 PHP 寫成的,可以透過 Web 界面創建和管理數據庫。它可以創建偽 cronjobs,可以用來自動在某個時間或周期備份 MySQL 數據庫。另外,還有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。

以上內容參考:百度百科-mySQL

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257676.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:46
下一篇 2024-12-15 12:46

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論