mysql数据库维护(备份和还原)和性能提高
Posted shujutongbugongju
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库维护(备份和还原)和性能提高相关的知识,希望对你有一定的参考价值。
为了有效防止数据丢失,并将损失降到最低,应对数据库服务器做维护。数据库维护,包括数据备份,还原,导出和导入操作。
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数据库维护(备份和还原)和性能提高的主要内容,如果未能解决你的问题,请参考以下文章