데이터 베이스 MySQL 튜토리얼 轻松备份mysql 数据库_MySQL

轻松备份mysql 数据库_MySQL

Jun 01, 2016 pm 01:50 PM
데이터베이스 테이블 관리자

bitsCN.com

  在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事!


  备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp、cpio或tar等)。 每种方法都有其优缺点: mysqldump与MySQL服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数据库,也会发生同样的问题:如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的恢复表将失去意义。


  文件系统备份与直接拷贝文件的区别是对后者你完全控制了备份过程,这样你能采取措施确保服务器让表不受干扰。mysqldump比直接拷贝要慢些。 mysqldump生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。


  直接拷贝文件不能移植到其它机器上,除非你正在拷贝的表使用MyISAM存储格式。ISAM表只能在相似的硬件结构的机器上拷贝。在MySQL 3.23中引入的MyISAM表存储格式解决了该问题,因为该格式是机器无关的,所以直接拷贝文件可以移植到具有不同硬件结构的机器上。只要满足两个条件:另一台机器必须也运行MySQL 3.23或以后版本,而且文件必须以MyISAM格式表示,而不是ISAM格式。


  不管你使用哪种备份方法,如果你需要恢复数据库,有几个原则应该遵守,以确保最好的结果:

定期实施备份。建立一个计划并严格遵守。


  让服务器执行更新日志。当你在崩溃后需要恢复数据时,更新日志将帮助你。在你用备份文件恢复数据到备份时的状态后,你可以通过运行更新日志中的查询再次运用备份后面的修改,这将数据库中的表恢复到崩溃发生时的状态。以文件系统备份的术语讲,数据库备份文件代表完全倾倒(full dump),而更新日志代表渐进倾倒(incremental dump)。


  使用一种统一的和易理解的备份文件命名机制。

象backup1、buckup2等不是特别有意义。当实施你的恢复时,你将浪费时间找出文件里是什么东西。你可能发觉用数据库名和日期构成备份文件名会很有用。例如:

%mysqldump samp_db >/usr/archives/mysql/samp_db.1999-10-02

%mysqldump menagerie >/usr/archives/mysql/menagerie.1999-10-02

你可能想在生成备份后压缩它们。备份一般都很大!你也需要让你的备份文件有过期期限以避免它们填满你的磁盘,就象你让你的日志文件过期那样。用文件系统备份备份你的备份文件。

如果遇上了一个彻底崩溃,不仅清除了你的数据目录,也清除了包含你的数据库备份的磁盘驱动器,你将真正遇上了麻烦。也要备份你的更新日志。将你的备份文件放在不同于用于你的数据库的文件系统上。这将降低由于生成备份而填满包含数据目录的文件系统的可能性。

用于创建备份的技术同样对拷贝数据库到另一台机器有用。最常见地,一个数据库被转移到了运行在另一台主机上的服务器,但是你也可以将数据转移到同一台主机上的另一个服务器。

1.使用mysqldump备份和拷贝数据库

当你使用mysqldumo程序产生数据库备份文件时,缺省地,文件内容包含创建正在倾倒的表的CREATE语句和包含表中行数据的INSERT语句。换句话说,mysqldump产生的输出可在以后用作mysql的输入来重建数据库。你可以将整个数据库倾倒进一个单独的文本文件中,如下:

%mysqldump samp_db >/usr/archives/mysql/samp_db.1999-10-02

输出文件的开头看起来象这样:

# MySQL Dump 6.0#
# Host: localhost Database: samp_db
#---------------------------------------
# Server version 3.23.2-alpha-log
## Table structure for table 'absence'#
CREATE TABLE absence( student_id int(10)
unsigned DEFAULT '0' NOT NULL, date date DEFAULT '0000-00-00' NOT NULL, PRIMARY KEY (student_id,date));
## Dumping data for table 'absence'#
INSERT INTO absence VALUES (3,'1999-09-03');
INSERT INTO absence VALUES (5,'1999-09-03');
INSERT INTO absence VALUES (10,'1999-09-08');
......

文件剩下的部分有更多的INSERT和CREATE TABLE语句组成。 如果你想压缩备份,使用类似如下的命令:

%mysqldump samp_db │ gzip >/usr/archives/mysql/samp_db.1999-10-02.gz

如果你要一个庞大的数据库,输出文件也将很庞大,可能难于管理。如果你愿意,你可以在mysqldump命令行的数据库名后列出单独的表名来倾到它们的内容,这将倾倒文件分成较小、更易于管理的文件。下例显示如何将samp_db数据库的一些表倾到进分开的文件中:

%mysqldump samp_db student score event absence >grapbook.sql
%mysqldump samp_db member president >hist-league.sql

如果你生成准备用于定期刷新另一个数据库内容的备份文件,你可能想用--add-drop-table选项。这告诉服务器将DROP TABLE IF EXISTS语句写入备份文件,然后,当你取出备份文件并把它装载进第二个数据库时,如果表已经存在,你不会得到一个错误。如果你倒出一个数据库以便能把数据库转移到另一个服务器,你甚至不必创建备份文件。要保证数据库存在于另一台主机,然后用管道倾倒数据库,这样mysql能直接读取mysqldump的输出。例如:你想从主机pit-viper.snake.net拷贝数据库samp_db到boa.snake.net,可以这样很容易做到:

%mysqladmin -h boa.snake.net create samp_db
%mysqldump samp_db │ mysql -h boa.snake.net samp_db

以后,如果你想再次刷新boa.snake.net上的数据库,跳过mysqladmin命令,但要对mysqldump加上--add-drop-table以避免的得到表已存在的错误:

%mysqldump --add-drop-table samp_db │ mysql -h boa.snake.net samp_db

mysqldump其它有用的选项包括:

--flush-logs 和 --lock-tables 组合将对你的数据库检查点有帮助。

bitsCN.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Windows 11에서 계속하려면 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 문제를 해결하는 방법은 무엇입니까? Windows 11에서 계속하려면 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 문제를 해결하는 방법은 무엇입니까? Apr 11, 2024 am 09:10 AM

Win11 시스템을 사용할 때 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시되는 경우가 있습니다. 이 문서에서는 이 상황을 처리하는 방법에 대해 설명합니다. 방법 1: 1. [Windows 로고]를 클릭한 다음 [Shift+다시 시작]을 눌러 안전 모드로 들어가거나 이 방법으로 안전 모드로 들어갑니다. 시작 메뉴를 클릭하고 설정을 선택합니다. "업데이트 및 보안"을 선택하고 "복구"에서 "지금 다시 시작"을 선택한 후 옵션을 입력하고 - 문제 해결 - 고급 옵션 - 시작 설정 -&mdash를 선택하세요.

Win11 관리자가 이 응용 프로그램을 실행하지 못하도록 차단합니다. Win11 관리자가 이 응용 프로그램을 실행하지 못하도록 차단합니다. Jan 30, 2024 pm 05:18 PM

Win11 시스템 관리자가 이 애플리케이션을 실행하는 것을 차단했습니다. Windows 11 운영 체제를 사용할 때 시스템 관리자가 애플리케이션 실행을 차단하는 일반적인 문제가 발생할 수 있습니다. 작업을 완료하거나 엔터테인먼트를 즐기기 위해 이 애플리케이션을 실행해야 할 수도 있으므로 이는 혼란스럽고 실망스러울 수 있습니다. 그러나 걱정하지 마십시오. 일반적으로 이 문제에 대한 해결책이 있습니다. 먼저, 왜 이런 문제가 발생하는지 이해해야 합니다. Windows 11 운영 체제는 맬웨어나 바이러스의 실행을 방지하기 위해 더 높은 수준의 보안 및 개인 정보 보호 조치를 갖추고 있으며, 시스템 관리자는 특정 응용 프로그램의 실행 권한을 제한할 수 있습니다. 이는 귀하의 컴퓨터와 개인정보의 보안을 보호하기 위한 것입니다. 그러나 때로는 시스템 관리자가

Win11에서 관리자 권한을 얻는 방법 요약 Win11에서 관리자 권한을 얻는 방법 요약 Mar 09, 2024 am 08:45 AM

Win11 관리자 권한을 얻는 방법에 대한 요약 Windows 11 운영 체제에서 관리자 권한은 사용자가 시스템에서 다양한 작업을 수행할 수 있도록 하는 매우 중요한 권한 중 하나입니다. 때로는 소프트웨어 설치, 시스템 설정 수정 등과 같은 일부 작업을 완료하기 위해 관리자 권한을 얻어야 할 수도 있습니다. 다음은 Win11 관리자 권한을 얻는 몇 가지 방법을 요약한 것입니다. 도움이 되기를 바랍니다. 1. 단축키를 사용하세요. Windows 11 시스템에서는 단축키를 통해 명령 프롬프트를 빠르게 열 수 있습니다.

Win10에서 관리자 권한으로 PowerShell을 실행하는 방법. Win10에서 관리자 권한으로 PowerShell을 실행하는 방법. Jul 18, 2023 pm 02:05 PM

WindowsPowerShell은 시스템 관리자를 위해 설계된 Windows 명령줄 셸입니다. Windows PowerShell에는 개별적으로 또는 조합하여 사용할 수 있는 대화형 프롬프트와 스크립팅 환경이 포함되어 있습니다. 그러나 많은 PowerShell 명령에는 상승된 권한이나 관리자 권한이 필요하며 이를 실행하려면 PowerShell 프롬프트를 시작해야 합니다. Win10에서 관리자 권한으로 PowerShell을 실행하는 방법. 방법 1: Windows 10 시작 메뉴 상황에 맞는 메뉴를 사용합니다. Windows 10 시작 메뉴를 마우스 오른쪽 버튼으로 클릭하면 상황에 맞는 메뉴가 나타나 자주 사용하는 관리 프로그램을 빠르게 시작할 수 있습니다. 상황에 맞는 메뉴에는 Windo라는 창이 포함되어 있습니다.

Win10에서 관리자로 프로그램을 실행하는 다양한 방법은 무엇입니까? Win10에서 관리자로 프로그램을 실행하는 다양한 방법은 무엇입니까? Feb 29, 2024 am 11:00 AM

Win10은 관리자 권한으로 어디에서 실행됩니까? Win10에서는 일부 프로그램을 관리자 권한으로 실행해야 하는데 일부 사용자는 관리자 권한으로 프로그램을 실행하는 방법을 모릅니다. 이 문서는 Win10에서 관리자 권한으로 프로그램을 실행하는 방법에 대한 튜토리얼입니다. Win10 시스템에서는 기본 계정이 일반 관리자 권한을 가진 계정입니다. 일부 소프트웨어를 실행할 때는 마우스 오른쪽 버튼을 클릭하고 메뉴에서 관리자 권한으로 실행을 선택해야 계정 변경 없이 다음 작업을 정상적으로 실행할 수 있습니다. . 기본적으로 관리자 계정을 사용하여 소프트웨어를 실행하고 두 번 클릭하면 실행됩니다. 관리자 권한으로 실행해야 하는 프로그램을 마우스 오른쪽 버튼으로 클릭하고 나타나는 메뉴 항목에서 관리자 권한으로 실행을 선택합니다. 1) 먼저,

cmd를 관리자 권한으로 실행하는 방법 cmd를 관리자 권한으로 실행하는 방법 Aug 28, 2023 pm 12:00 PM

cmd는 단축키 사용, 검색 기능 사용, 실행 대화 상자 사용, 작업 관리자 사용, 시스템 메뉴 사용을 통해 관리자 권한으로 실행됩니다. 자세한 소개: 1. 바로 가기 키를 사용하여 시작 메뉴를 열고 cmd 또는 명령 프롬프트를 찾은 다음 cmd를 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택합니다. 2. 검색 기능을 사용하여 시작 메뉴를 열고 검색에 cmd를 입력합니다. 상자. 검색 결과에서 cmd를 찾아 마우스 오른쪽 버튼을 클릭하고 "관리자 권한으로 실행"을 선택합니다. 3. 실행 대화 상자 등을 사용합니다.

PHP를 사용하여 데이터베이스 테이블을 생성하고 관리하는 방법 PHP를 사용하여 데이터베이스 테이블을 생성하고 관리하는 방법 Sep 09, 2023 pm 04:48 PM

PHP를 사용하여 데이터베이스 테이블을 생성하고 관리하는 방법 인터넷의 급속한 발전으로 인해 데이터베이스는 다양한 웹사이트와 애플리케이션에서 없어서는 안 될 부분이 되었습니다. PHP에서는 MySQL과 같은 데이터베이스 관리 시스템(DBMS)을 사용하여 데이터베이스 테이블을 생성하고 관리할 수 있습니다. 이 문서에서는 해당 코드 예제와 함께 PHP를 사용하여 이 기능을 구현하는 방법을 설명합니다. 데이터베이스에 연결 먼저 PHP에서 데이터베이스에 연결해야 합니다. 이 기능을 구현하려면 PHP에서 제공하는 mysqli 확장이나 PDO를 사용할 수 있습니다.

Win10 Home Edition 표준 사용자를 관리자 권한으로 변경할 수 없습니다. Win10 Home Edition 표준 사용자를 관리자 권한으로 변경할 수 없습니다. Jan 16, 2024 pm 06:33 PM

많은 친구들은 홈 버전을 사용할 때 관리자를 변경할 수 없다는 것을 알게 될 것입니다. 이는 우리를 매우 수동적으로 만듭니다. 그러나 아래에서 해결책도 매우 간단합니다. Win10 Home Edition의 표준 사용자는 관리자를 변경할 수 없습니다. 1. 먼저 컴퓨터를 켜고 바탕 화면에 들어간 다음 왼쪽 하단에 있는 검색 표시줄을 클릭하고 검색 표시줄에 입력하여 프로그램을 엽니다. 2. 기본 창에서 사용자 계정 섹션으로 이동하여 옵션을 클릭합니다. 3. 여기에서 관리자로 전환할 일반 사용자를 선택해 주세요. 4. 다음으로 왼쪽 메뉴에서 옵션을 클릭하세요. 5. 새로 확장된 페이지에서 옵션을 체크한 후 마지막으로 오른쪽 하단의 버튼을 클릭하면 작업이 완료됩니다. 6. 이 시점에서 방금 선택한

See all articles