`
hikin
  • 浏览: 266166 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

个人使用mysqldump的经验

阅读更多

有台机器上跑的是suse 8,想升级一下整个系统,上面的mysql有超过3个G的东东,在重装系统时难免要把数据库备份。我使用的是备份mysql数据库的常见工具,mysqldump。在备份时,我使用的语法如:

mysqldump --opt DWBdatabase >; DWBdatabase.sql 。

阅读mysql的手册才知道,其实--opt在4.1版本以上是默认打开的(As of MySQL 4.1, --opt is on by default, but can be disabled with --skip-opt)。在导入数据时我先用create database DWBdatabase,然后用mysql DWBdatabase <  DWBdatabase.sql 。这里有一点不方便的是,得先手工建立数据库然后才能导入,当有多个数据库要导入时比较麻烦。不过如果在导出时添加选项--database,即 mysqldump --opt --database DWBdatabase >; DWBdatabase.sql 就可以避免这样的麻烦而直接导入数据库。个人的感觉是,仔细阅读手册还是很有用的。总结一下常用用法:


mysqldump最常见的用法是:

shell>; mysqldump --opt -u user --password="password" db_name >; backup-file.sql
或者压缩备份文件:
#mysqldump --opt -u user --password="password" database | bzip2 -c >; database.sql.bz2

在dbname已经存在的情况下,读入备份文件恢复数据库,

shell>; mysql db_name < backup-file.sql (备注:建议使用--database选项)

或者

shell>; mysql -e "source /path-to-backup/backup-file.sql" db_name

mysqldump 还可以用于在两个mysql server之间复制数据:

shell>; mysqldump --opt db_name | mysql --host=remote_host -C db_name

也可以同时备份多个数据库:

shell>; mysqldump --databases db_name1 [db_name2 ...] >; my_databases.sql

如果想一次备份整个数据库使用 --all-databases 选项:

shell>; mysqldump --all-databases >; all_databases.sql

常见选项:
--add-drop-table:添加DROP TABLE语句
--add-locks:用LOCK TABLES 和 UNLOCK TABLES  语句封装插入每个表格的语句,能加速数据导入速度
--all-databases, -A: 备份所有数据库
--compress, -C:用于在两个server之间复制时压缩数据
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump 把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。CREATE DATABASE IF NOT EXISTS db_name and USE db_name 会被添加到导出文件里。
--force, -f:即使发现sql错误,仍然继续备份
--host=host_name, -h host_name:备份主机名,默认为localhost
--no-data, -d:只导出表结构
--opt:等同于激活--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset这些选项
--password[=password], -p[password]:密码
--port=port_num, -P port_num:制定TCP/IP连接时的端口号
--protocol={TCP | SOCKET | PIPE | MEMORY}:制定连接所用的协议
--quick, -q:快速导出
--socket=path, -S path:当连接至localhost时,制定socket文件
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--user=user_name, -u user_name:用户名
--xml, -X:导出为xml文件

更多详细信息推荐:mysql manual !

转自: http://www.lslnet.com/linux/dosc1/52/linux-350593.htm

 

分享到:
评论

相关推荐

    MySQL应用场景 个人经验1

    3. 备份问题:可以使用多级备份、保全 Binlog、冷备加热备(mysqldump+xtrabackup)等方案来解决备份问题。 4. HA 问题:可以使用 MySQL Sharing 等方案来解决 HA 问题。 MySQL 是一个非常流行的数据库管理系统,...

    使用docsify搭建的个人学习主站,主要记载学习笔记,包括但不限于Java多线程、设计模式、MySQL及Git等各.zip

    在本项目中,作者使用了docsify框架来创建一个个人学习主站,旨在记录和分享其在多个IT领域的学习笔记,主要包括Java多线程、设计模式、MySQL数据库以及Git版本控制等方面的知识。以下是对这些主题的详细阐述: 1. ...

    一线MySQL DBA实战宝典个人资料打包

    这份“一线MySQL DBA实战宝典个人资料打包”显然包含了丰富的MySQL数据库管理实践经验,旨在帮助DBA提升技能,解决实际工作中遇到的问题。下面,我们将深入探讨其中可能涵盖的关键知识点。 一、MySQL基础 MySQL是...

    上海Linux运维工程师-面试题-个人总结).pdf

    18. **InnoDB备份**:全量备份结合增量或差异备份策略,如使用mysqldump、Percona Xtrabackup等工具。 19. **Shell脚本防护**:通过trap命令捕获信号,防止脚本被INT信号中断。 20. **内核模块编译**:使用make、...

    上海Linux运维工程师-面试题-个人总结).docx

    对于100GB的InnoDB数据库,可使用mysqldump配合逻辑备份,或者使用Percona Xtrabackup进行物理备份。 【不可中断的shell脚本】 通过nohup或setsid运行脚本,使其不受CTRL+C中断。 【内核模块编译】 单独编译内核...

    mysql建表常用sql语句个人经验分享

    可以使用mysqldump命令备份表或整个数据库: 备份表: ``` mysqldump -h(ip) -uroot -p(password) databasename tablename &gt; tablename.sql ``` 备份数据库: ``` mysqldump -h(ip) -uroot -p(password) database...

    数据库学习-mysql安装配置教程

    可以使用`mysqldump`工具轻松完成备份操作。 #### MySQL的基本操作与常用命令 - **查看数据库列表** - 使用`SHOW DATABASES;`命令查看所有可用的数据库。 - **切换数据库** - 使用`USE 数据库名;`命令切换到指定...

    MySQL必知必会的学习笔记,还有一些个人的实践总结.zip

    这份"MySQL必知必会的学习笔记,还有一些个人的实践总结.zip"包含了深入学习MySQL所需的关键知识点和实践经验,旨在帮助用户提升对数据库的理解和操作技能。 一、MySQL基础概念 在开始学习MySQL之前,了解基本术语...

    mysql数据库安装包

    MySQL数据库是世界上最受欢迎的开源关系型数据库管理系统之一,尤其适合中小型企业、个人网站以及大型互联网应用。本安装包包括MySQL服务器端和客户端软件,为初学者提供了完整的数据库环境搭建工具。 首先,我们要...

    MySQL开发教程和具体应用.zip

    3. 备份与恢复:定期备份数据库,使用mysqldump工具,以便在系统故障时恢复数据。 七、MySQL实战应用 1. Web开发:配合PHP、Java、Python等后端语言构建动态网站。 2. 大数据处理:通过连接MySQL与Hadoop、Spark等...

    中文版Mysql Cook Book

    MySQL是一款广泛使用的开源关系型数据库管理系统,其性能优异、易于学习和使用,被众多企业和个人用于数据存储和管理。在《中文版MySQL Cookbook》中,你将学到如何优化查询、处理事务、管理用户权限、备份与恢复...

    inndb存储技术教程(mysql)

    因此,在使用 mysqldump 或 MySQL 复制时需要特别注意,尤其是在使用 InnoDB Hot Backup 工具时更是如此。 - **操作限制**:由于文件格式的变化,文档中强调了一些操作上的限制。例如,在将旧版 InnoDB 升级到新版时...

    备份库操作

    3. **备份工具使用**:如何使用特定工具(如mysqldump)进行数据库备份,包括命令行参数的解释和示例。 4. **自动化备份**:编写脚本自动执行备份任务的方法,可能涉及cron或Windows计划任务。 5. **备份验证**:...

    Mysql_备份脚本

    此脚本特别适合于中小型企业或个人开发者,他们可能没有专门的DBA团队,需要一个简单易用的工具来管理数据库备份。通过菜单式的选择,即使是数据库管理经验较少的用户也能轻松完成复杂的备份任务。此外,脚本的自动...

    李玉婷老师的mysql课程sql

    此外,课程可能还会涵盖数据库的备份与恢复策略,包括如何使用mysqldump工具进行数据库备份,以及在数据丢失或系统故障时如何恢复数据。 事务处理(TRANSACTIONS)是数据库管理中的核心概念,确保数据的一致性和...

    MYSQL培训经典教程

    在教程中,你会了解到如何使用mysqldump工具进行全量备份和增量备份,以及如何在数据丢失或损坏时恢复数据。 最后,性能调优是MySQL高级主题。这包括索引优化、查询优化、内存配置、日志分析和复制技术,以提升系统...

    MySQL5.1中文手册.rar

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),以其高效、稳定和易用性而受到全球众多企业和个人用户的青睐。 这份手册在2006年7月27日编译完成,是基于官方HTML文档转换而来,并进行了目录和索引的...

    mysql 5权威指南(第3版)中文

    学习如何备份MySQL数据库,包括使用mysqldump工具,以及如何在数据丢失或系统故障时恢复数据。 7. **复制与集群** MySQL的复制功能允许在多个服务器间同步数据,实现高可用性和负载均衡。集群技术则可以进一步...

    MySQL讲义.rar

    9. **备份与恢复**:讨论如何使用mysqldump进行数据库备份,以及如何在数据丢失时恢复数据。 10. **安全性**:讲述如何创建和管理数据库用户,权限分配,以及如何保护数据库免受攻击。 11. **性能监控与调优**:...

Global site tag (gtag.js) - Google Analytics