博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql学习笔记(四)
阅读量:4079 次
发布时间:2019-05-25

本文共 1949 字,大约阅读时间需要 6 分钟。

23数据备份和恢复

(1)备份

①使用MYSQLdump命令备份

mysqldump -u user -h localhost -p password dbname [table1,[table2 ]....]>filename.sql

备份所有数据库

mysqldump -u user -h localhost -p --all-databases>filename.sql

②复制数据目录

③使用MYSQLhotcopy

是备份数据库或单个表的最快的途径,但是它只能运行在数据库目录所在的机器上,并且只能备份MYISAM类型的表。MYSQLhotcopy在Unix系统中运行。

mysqlhotcopy -u root -p dbname /usr/backup

(2)文件恢复

①mysql -u user -p dbname<filename.sql

在执行前需要先建好数据库

如果已经登录到mysql中了,可以使用source来进行恢复

mysql>source filename.sql;

在使用source的时候必须先使用use 语句到对应的数据库中

②复制数据目录

执行前需要关闭mysql数据库服务

③使用MYSQLhotcopy

先停止服务

cp -R /user/backup/test usr/local/mysql/data

重启服务器

如果恢复的数据库已经存在,需要使用drop 删除已存在的数据之后,恢复才能成功。

mysql不同版本之间必须兼容。

(3)数据迁移

①相同版本的mysql数据库之间的迁移(主版本号相同)

mysqldump -u user -h localhost -p password dbname [table1,[table2 ]....]>filename.sql

mysql -u user -p dbname<filename.sql

②不同版本号之间的数据迁移

旧版本的与新版本的mysql可能出现字符集不同的情况,在迁移过程中要对默认的字符集进行修改,不然无法正常显示。

新版本会对旧版本有一定的兼容性,从旧版本的mysql迁移到新版本的mysql迁移时,对于MyISAM引擎的表,可以直接复制数据库文件,也可以使用MySQLhotcopy工具、MySQLdump工具。

对于InnoDB引擎的表一般只能使用mysqldump工具。

从新版本迁移到旧版本时最好使用mysqldump命令导出,然后导入到目标库中。

③不同数据库之间的迁移

迁移工具MyODBC实现mysql到sql server的 迁移

MySQL Migration Toolkit可以在不同数据库之前迁移

(4)表的导入导出

①select ...into outfile 'filename'导出文本文件

mysql>select * from test.preson into outfile "C:\person.txt";

②使用mysqldump导出文本文件

mysqldump -T path -u root -p dbname [table] [options]

③使用mysql命令导出文本文件

msyql -u root -p --execute="select 语句" dbname>filename.txt

mysql -u root -p --execute"select * from person;" test >c:\person.txt;

--vertical 显示 执行的详细信息

mysql -u root -p --vertical --execute"select * from person;" test >c:\person.txt;

--html记录到html文件里

>mysql -u root -p --html --execute"select * from person;" test >c:\person.html;

--xml记录到xml文件里

mysql -u root -p --xml --execute"select * from person;" test >c:\person.xml;

④使用load data infile方式导入文本文件

load data infile ‘filename.txt’ into table tablename

⑤使用mysqlimport命令导入文本文件

mysqlimport -u root -p dbname filename.txt

 

为了保证数据的一直行,需要在备份文件前,执行sql

flush tables with read lock;

 

转载地址:http://fdsni.baihongyu.com/

你可能感兴趣的文章
[分享]mysql内置用于字符串型ip地址和整数型ip地址转换函数
查看>>
TableDnd(JQuery表格拖拽控件)应用进阶
查看>>
[转]开源中最好的Web开发的资源
查看>>
java接口不能实例化原因浅谈
查看>>
Https加密及攻防
查看>>
Java生成随机不重复推广码邀请码
查看>>
Java8 Lambda表达式介绍
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
String类的intern方法随笔
查看>>
【泛型】一个简易的对象间转换的工具类(DO转VO)
查看>>
1.随机函数,计算机运行的基石
查看>>
MouseEvent的e.stageX是Number型,可见as3作者的考虑
查看>>
在mc中直接加aswing组件,该组件还需最后用validate()方法
查看>>
移植Vim配色方案到Eclipse
查看>>
从超链接调用ActionScript
查看>>
谈谈加密和混淆吧[转]
查看>>
TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
查看>>
网络游戏客户端的日志输出
查看>>
关于按钮的mouseOver和rollOver
查看>>