码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库维护(备份和还原)和性能提高

时间:2019-06-13 22:20:36      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:isa   inno   innodb   写法   控制台   数据导出   第一个   文件导入   数据还原   

为了有效防止数据丢失,并将损失降到最低,应对数据库服务器做维护。数据库维护,包括数据备份,还原,导出和导入操作。

1. MySQL数据库备份

所谓数据库维护,主要包含备份数据,还原数据和数据库迁移,对于MySQL来说,还包括数据库对象表的导出和导入。

1.1 通过复制数据文件实现数据备份

造成数据损失的原因很多,主要包含如下几个方面:

a. 存储介质故障:保存数据库文件的磁盘设备损坏,用户没有数据库备份导致数据彻底丢失。

b. 用户的错误操作:如误删了某些重要数据,甚至整个数据库。

c. 服务器的彻底瘫痪,系统需要重建。

由于MySQL服务器中的数据文件是基于磁盘的文本文件,所以最简单,最直接的备份操作就是数据库文件直接复制出来。该种方式对InnoDB存储引擎的表不合适,只适合存储引擎为MyISAM的表。

1.2 通过命令mysqldump实现数据备份

有三种形式:备份一个数据库,备份多个数据库,备份所有数据库。

1.2.1 备份一个数据库

示例如下:

备份数据库company下的表t_dept;

1.2.2 备份多个数据库

示例如下:

备份数据库company数据库和companynew数据库:

1.2.3 备份所有数据库

示例如下:

备份所有数据库:

2. MySQL数据还原

2.1 通过复制数据文件实现数据还原

在通过复制数据文件这种方式实现数据还原时,必须保证两个MySQL数据库的主版本号一致,因为只有MySQL数据库主版本号一致时,才能保证两个MySQL数据库的文件类型是相同的。由于通过复制数据文件实现数据备份时,对存储引擎类型为I:nnoDB的表不可用,仅对存储引擎为MyISAM类型的表有效。因此通过复制数据文件实现数据还原时,也只对存储类型为MyISAM类型的表有效。

注意:MySQL数据库服务器的版本号,第一个数字表示主版本号。

2.2 通过命令mysql实现数据还原

示例如下:

还原数据库company中的表t_dept:

3.MySQL数据库表导出到文本文件

3.1 执行SELECT ... INTO OUTFILE 实现导出到文本文件

示例如下:

实现将表t_dept里的所有数据导出到文件t_dept里:

上述实现了将表t_dept里的所有数据导出到文件t_dept_1.txt文件里,而且还设置了相应的显示格式。

3.2 执行命令mysqldump实现导出到文本文件

示例如下:

将相应的数据导出到文本文件t_dept.txt里:

上述实现将表t_dept里的所有数据导出到文件t_dept里。

3.3 执行命令mysql实现导出到文本文件

示例如下:

4. MySQL实现文本文件导入到数据库表

4.1 执行"LOAD DATA INFILE"命令实现文本文件导入到数据库表

示例如下:

4.1 执行命令mysqlimport实现导入文本文件

示例如下:

5. 数据库迁移

5.1 相同版本的MySQL数据库之间的迁移

该种数据库迁移最容易实现。

5.2 不同版本的MySQL数据库之间的迁移

两种方式:低版本向高版本和高版本向低版本。

5.3 不同数据库之间的迁移

由于不同数据库之前的差异性,没有普遍适用的办法。

6. 数据性能优化

(备注):

备注1:

备份和还原的备注:如果所有的操作均是对远程数据库的操作,则在-u前面加-h ip即可。如需要操作192.168.1.101数据库的数据,写法是:

 备注2:

使用命令mysqldump进行导出数据到本地磁盘,执行该命令的时候不要进入mysql的控制台再使用,这样会报outfiledisabled错误。而是直接使用MYSQL/bin目录下的mysqldump.exe,通过windows的命令进入。

mysql数据库维护(备份和还原)和性能提高

标签:isa   inno   innodb   写法   控制台   数据导出   第一个   文件导入   数据还原   

原文地址:https://www.cnblogs.com/shujutongbugongju/p/11019764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!