2025年impdp导入指定表空间(impdp导入表空间到另一个表空间)

impdp导入指定表空间(impdp导入表空间到另一个表空间)一 备份单个数据库 1 备份命令 mysqldump MySQL 数据库自带的一个很好用的备份命令 是逻辑备份 导出 的是 SQL 语句 也就是把数据从 MySQL 库中以逻辑的 SQL 语句的形式直接输出或生成备份的文件的过程 单实例语法 Syntax mysqldump u p gt path to sql 多实例的备份语法 Syntax mysqldump u p

大家好,我是讯享网,很高兴认识大家。



mysql 备份表的一部分数据到另一个表_sql
讯享网

一、备份单个数据库

1、备份命令:mysqldump

MySQL数据库自带的一个很好用的备份命令。是逻辑备份,导出 的是SQL语句。也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备份的文件的过程。

单实例语法(Syntax):

mysqldump -u -p > /path/to/.sql

多实例的备份语法(Syntax):

mysqldump -u -p -S > /path/to/.sql

eg: mysqldump -u root -p wordpress &gt; /opt/wordpress_\((date +%F).sql</p><p>2、参数解析</p><p>View Code</p><p>举例使用:</p><p>View Code</p><p>3、恢复操作</p><p>语法(Syntax):</p><p>mysql -u -p &lt; /opt/mytest_bak.sql #库必须保留,空库也可</p><p>说明:指定dbname,相当于use </p><p>4、示例</p><p>(1)无参数备份数据库mytest和恢复</p><p>(1)备份操作</p><p>a、备份</p><p>mysqldump -uroot -p‘’ mytest &gt; /mnt/mytest_bak_\)(date +%F).sql

(2)恢复操作

a、删除student表(库必须要保留,空库都行)

mysql -uroot -p’’ -e “use mytest;drop table student;”

b、恢复数据

mysql -uroot -p’’ mytest &lt; /mnt/mytest_bak.sql

c、查看数据

mysql -uroot -p’’ -e “select * from mytest.student;”

(2)-B参数备份和恢复(建议使用)

(1)备份操作

a、备份

mysqldump -uroot -p’’ -B mytest &gt; /mnt/mytest_bak_B.sql

说明:加了-B参数后,备份文件中多的Create database和use mytest的命令

加-B参数的好处:

加上-B参数后,导出的数据文件中已存在创建库和使用库的语句,不需要手动在原库是创建库的操作,在恢复过程中不需要手动建库,可以直接还原恢复。

(2)恢复操作

a、删除mytest库

mysql -uroot -p’’ -e “drop database mytest;”

b、恢复数据

(1)使用不带参数的导出文件导入(导入时不指定要恢复的数据库),报错

mysql -uroot - p’’ &lt; /mnt/mytest_bak.sql

ERROR 1046 (3D000) at line 22: No database selected

(2)使用带-B参数的导出文件导入(导入时也不指定要恢复的数据库),成功

mysql -uroot -p’’ &lt; /mnt/mytest_bak_B.sql

c、查看数据

mysql -uroot -p’’ -e “select * from mytest.student;”

(3)–compact参数优化备份文小大小,减少输出注释(一般用于Debug调试)

(1)备份

mysqldump -uroot -p’’ –compact -B mytest &gt; /mnt/mytest_bak_Compact.sql

说明:

使用–compact参数,可以优化输出内容的大小,让容量更少,适合调试。便会忽略–skip-add-drop-table,–no-set-names,–skip-disable-keys,–skip-add-locks等几个参数的功能。

(4)指定压缩命令来压缩备份文件

(1)备份

mysqldump -uroot -p’’ -B mytest | gzip &gt; /mnt/mytestbak.sql.gz

说明:

mysqldump导出的文件是文本文件,压缩效率很高

(5)备份多个数据库

(1)说明

通过-B参数指定相关数据库,每个数据库名之前用空格分格。当使用-B参数后,将所有数据库全部列全,则此时等同于-A参数。

(2)备份

mysqldump -uroot -p’’ -B mytest wiki | gzip &gt; /mnt/mytestAndWiki_bak.sql.gz

(6)分库备份

分库备份实际上就是执行一个备份语句就备份一个库,有多个库时,就执行多条相同的备份语句,只是备份的库名和备份文件名不同而已。可能通过shell脚本自动生成并执行相应的操作,也可以把所有单个备份语句写在一个shell脚本中,通过cron定时任务来备份。

分库备份的意义是在所有库都备份成一个备份文件时,恢复其中一个库的数据是比较麻烦的,所以分库备份,利于恢复。分库备份脚本如下:

for dbname in mysql -uroot -p'' -e "show databases;" | grep -Evi "database|infor|perfor"

do

mysqldump -uroot -p”” –events -B \(dbname | gzip &gt; /mnt/\){dbname}_bak.sql.gz

done

说明:\({dbname}_bak,由于要求备份文件名以\)dbname_bak.sql.gz格式命令,但系统无法辨别变量是\(dbname还是\)dbname_bak,所以此时就需要用大括号“{}”将变量括起来,就是\({dbname}_bak.sql.gz了。</p><p>(7)-d参数,只备份数据库中表结构</p><p>mysqldump -uroot -p'' -d mytest &gt; /mnt/mytestDesc_bak.sql</p><p>(8)-A参数备份全库,并且-F刷新和切换binlog</p><p>mysqldump -uroot -p'' -A -B -F &gt; /mnt/All_bak.sql</p><p>(9)–master-data参数在备份文件中写入当前binlog文件号</p><p>mysqldump -uroot -p'' --master-data=1 --compact mytest &gt; /mnt/All_bak.sql</p><p>mysqldump -uroot -p'' --master-data=2 --compact mytest &gt; /mnt/All_bak.sql</p><p>二、备份单个表</p><p>语法(Syntax):不能加-B参数</p><p>mysqldump -u -p dbname tablename1 tablename2... &gt; /path/to/*.sql</p><p>示例:</p><p>示例1:备份mytest库中的student表</p><p>mysqldump -uroot -p'' mytest student &gt; /mnt/table_bak/student_bak.sql</p><p>示例2:备份mytest库中所有表,就是备份mytest库</p><p>mysqldump -uroot -p'' mytest &gt; /mnt/table_bak/all_bak.sql</p><p>示例3:备份mytest库中的student和test表</p><p>mysqldump -uroot -p'' mytest student test &gt; /mnt/table_bak/two_bak.sql</p><p>示例4:-d参数,只备份表结构</p><p>mysqldump -uroot -p'' -d mytest stusent &gt; /mnt/studentDesc_bak.sql</p><p>示例5:-t参数,只备份数据</p><p>mysqldump -uroot -p'' --compact -t mytest stusent &gt; /mnt/studentData_bak.sql</p><p>INSERT INTO `student` VALUES (1,'Tom',20,'S11'),(2,'Jary',21,'S12'),(3,'King',25,'S10'),(4,'Smith',19,'S11'),(5,'??',20,'S11'),(6,'张三',20,'S11');</p><p>三、企业生产场景不同引擎备份命令参数</p><p>1、mysqldump的关键参数</p><p>-B:指定多个库,在备份文件中增加建库语句和use语句</p><p>--compact:去掉备份文件中的注释,适合调试,生产场景不用</p><p>-A:备份所有库</p><p>-F:刷新binlog日志</p><p>--master-data:在备份文件中增加binlog日志文件名及对应的位置点</p><p>-x --lock-all-tables:锁表</p><p>-l:只读锁表</p><p>-d:只备份表结构</p><p>-t:只备份数据</p><p>--single-transaction:适合innodb事务数据库的备份</p><p>InnoDB表在备份时,通常启用选项--single-transaction来保证备份的一致性,原理是设定本次会话的隔离级别为Repeatable read,来保证本次会话(也就是dump)时,不会看到其它会话已经提交了的数据。</p><p>2、不同引擎备份命令参数用法</p><p>1)Myisam引擎:</p><p>mysqldump -uroot -p -A -B --master-data=1 -x| gzip &gt; /data/all_\)(date +%F).sql.gz

(2)InnoDB引擎:

mysqldump -uroot -p -A -B –master-data=1 –single-transaction &gt; /data/bak.sql

(3)生产环境DBA给出的命令

a、for MyISAM

mysqldump –user=root –all-databases –flush-privileges –lock-all-tables

–master-data=1 –flush-logs –triggers –routines –events

–hex-blob &gt; \(BACKUP_DIR/full_dump_\)BACKUP_TIMESTAMP.sql

b、for InnoDB

mysqldump –user=root –all-databases –flush-privileges –single-transaction

–master-data=1 –flush-logs –triggers –routines –events

–hex-blob &gt; \(BACKUP_DIR/full_dump_\)BACKUP_TIMESTAMP.sql

喜欢 (7)or分享 (0)

小讯
上一篇 2025-06-01 12:31
下一篇 2025-05-29 08:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/182137.html