首页 » Mysql备份

Mysql简单备份流程

数据库所有数据备份

step1: 将berlinix这个database导出:

$ mysqldump -uUSER -pPASSWD --opt berlinix > /tmp/berlinix.sql

step2: 在另一台机子上,将berlinix这个database导入:

$ mysql -uUSER -pPASSWD < ./berlinix.sql

通过以上方式导入数据,如果database本身已存在,则遇到同名table,其数据将被覆盖,database中其他table,不会被删除。

其他补充步骤。在导入数据前,可以将旧的数据清空,并重新创建新的database:

$ mysqldump -uUSER -pPASSWD drop berlinix;
$ mysql -uUSER -pPASSWD create berlinix;

导出数据库的创建语法

$ mysqldump -d -uUSER -pPASSWD berlinx > /tmp/berlinix.sql

导出的文件大概是这个样子:

-- MySQL dump 10.13  Distrib 5.1.58, for pc-linux-gnu (i686)
--
-- Host: localhost    Database: berlinix
-- ------------------------------------------------------
-- Server version       5.1.58-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
...
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `account`
--

DROP TABLE IF EXISTS `account`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `account` (
  `username` char(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `address`
--

DROP TABLE IF EXISTS `address`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `address` (
  `addr_id` int(11) NOT NULL AUTO_INCREMENT,
  `username` char(40) NOT NULL,
...

mysqldump命令详述

命令行参数

--default-character-set
设置字符编码,默认utf8
--extended-insert
创建多行insert语句,生成的备份文件更小,速度更快。
--ignore-table
忽略指定表,格式为--ignore-table=database.table,忽略多个表,需要写多个--ignore-table。

分享

0