盘绰网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

mysql备份还原库命令办法解析(长文)

时间:2024/1/30作者:未知来源:盘绰网教程人气:


[摘要]关于mysql数据库备份与还原的方法,这里首先讲到备份的工具:mysqlhotcopy,使用mysqlhotcopy工具可进行快速备份,然后数据还原,使用MySQL命令还原;最后需要导出数据库表。详...
关于mysql数据库备份与还原的方法,这里首先讲到备份的工具:mysqlhotcopy,使用mysqlhotcopy工具可进行快速备份,然后数据还原,使用MySQL命令还原;最后需要导出数据库表。详细的介绍还得阅读本文。

1.数据备份

定期的备份数据库,使得在意外情况发生的时候,尽量的减少损失。

1.使用mysqldump命令备份

mysqldump是MySQL提供的一个数据库备份工具,mysqldump命令执行的时候,将数据库备份成一个文本文件,该文件中包含了多个CREATE 和INSERT语句,使用这些语句可以重新创建表和插入数据;

【使用mysqldump备份单个数据库中】

mysqldump -u user -h host -p password dbname>filename.sql

【使用mysqldump备份数据库中的指定表】

mysqldump -u user -h host -p password dbname[tbname,[tbname…]]>filename.sql

【使用mysqldump备份多个数据库】

mysqldump -u user -h host -p password --databases[dbname,[dbname…]]>filename.sql

使用--databases参数之后,必须指定至少一个数据库的名称,多个数据库之间使用空格隔开;

【备份系统中所有的数据库】

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

提示:如果在服务器上进行备份,并且表均为MyISAM,应考虑使用mysqlhotcopy,因为可以更快的进行备份和恢复;

2.直接复制整个数据库目录

因为MySQL表保存为文件方式,所以可以直接复制MySQL数据库的存储目录以及文件进行备份。

这是一种简单、快速、有效的备份方式,要想保持备份的一致性,备份前需要对相关表执行LOCK TABLES 操作,然后对表执行FLUSH TABLES(确保开始备份前将所有激活的索引页写入硬盘)。这样当复制数据库目录的文件时,允许其他的用户继续查询表。

这种方法对InnoDB存储引擎的表不适用。使用这种方法备份数据最好还原到相同版本的服务器中,不同版本可能不兼容;

3.使用mysqlhotcopy工具快速备份

mysqlhotcopy是一个Perl脚本。

只能运行在数据库目录所在的机器上,并且只能备份MyISAM和ARCHIVE类型的表;

2.数据还原

1.使用MySQL命令还原

mysql -u username -p [dbname] < filename.sql

注意:如果filename.sql文件为mysqldump工具创建的包含创建数据库语句的文件,执行的时候不需要指定数据库名;

如果已经登录到MySQL服务器,还可以使用source命令导入SQL文件。

source filename

提示:执行source命令之前,必须使用use语句选择数据库。不然,恢复过程中会出现错误;

2.直接复制到数据库目录

如果数据库通过复制数据库文件备份,可以直接复制备份的文件到MySQL数据目录下实现还原。

通过该方式还原的时候,必须保持备份数据库和待还原的数据库服务器的主版本号相同。而且这种方式只是对MyISAM引擎的表有效,对于InnoDB引擎的表不可用;

执行还原以前关闭MySQL服务,将备份的文件或者目录覆盖MySQL的data目录,启动MySQL服务。

对于Linux/Unix操作系统来讲,复制完文件需要将文件的用户或者用户组更改为mysql运行的用户和组,通常用户是mysql,组也是mysql;

3.mysqlhotcopy快速恢复

mysqlhotcopy备份之后的文件也可以用来恢复数据库,在MySQL服务器停止运行的时候,将备份的数据库文件复制到MySQL存放的位置(MySQL的data文件夹),重新启动MySQL服务即可。

如果以根用户执行该操作,必须指定数据库文件的所有者

chown -R mysql.mysql /var/lib/mysql/dbname

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

执行完该语句,重启服务器,MySQL将恢复到备份状态

提示:如果需要恢复的数据库已经存在,则在使用DROP语句删除已经存在的数据库之后,恢复才可以成功,另外MySQL不同版本之间必须兼容;

3.数据库迁移

数据库迁移就是把数据从一个系统移动到另一个系统上。数据迁移有以下原因:

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

相同版本的MySQL数据库之间的迁移就是指在主版本号相同的MySQL数据库之间进行数据库移动。

举例:

将www.abc.com主机上的MySQL数据库全部迁移到www.bcd.com主机上:

mysqldump -h www.abc.com -u root -ppassword dbname

关键词:  mysql备份还原库命令办法解析(长文)





Copyright © 2012-2018 盘绰网教程(http://www.panchuo.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版