MySQL笔记:备份与还原

Posted arseneyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL笔记:备份与还原相关的知识,希望对你有一定的参考价值。

一、备份

mysqldump命令将数据备份为文本,文本内容为还原时执行的语句。

mysqlhotcopy命令适用于不停止服务器时的快速备份,其工作原理是将需要备份的数据库加读操作锁,然后将内存中的数据写回硬盘,最后把需要备份的数据库文件复制到目标目录。(Linux系统)

若选择直接复制备份数据库目录,必须保证数据表引擎是MyISAM,InnoDB表的空间不能直接复制。

技术分享图片
mysqldump -u root -p mysql user > backup.sql #备份单个数据库
mysqldump -u root -p --databases mysql world > backup.sql #备份多个数据库
mysqldump -u root -p --all-databases > backup.sql #备份所有数据库
View Code

 

二、还原

技术分享图片
mysql -u root -p mysql < backup.sql
mysql -u root -p < backup.sql
View Code

注:可通过备份还原实现数据库的迁移。

 

三、导出表

技术分享图片
SHOW VARIABLES LIKE %secure%; #查看secure-file-priv默认值

SELECT *
FROM mysql.user
INTO OUTFILE C:/Backup/outfile.txt
FIELDS TERMINATED BY \、 #字段使用、隔开
  OPTIONALLY ENCLOSED BY \" #字符型数据使用"包括
LINES STARTING BY \> #记录以>开头
  TERMINATED BY \n\r; #Windows默认回车换行

mysqldump -u root -p -T C:/Backup mysql "--fields-terminated-by=、" "--fields-optionally-enclosed-by=""

mysql -u root -p -e "SELECT * FROM user" mysql > C:/Backup/outfile.txt
View Code

注:可通过修改my.ini文件来修改secure-file-priv的默认值,修改后必须重新启动MySQL。

 

四、导出表

技术分享图片
LOAD DATA INFILE C:/Backup/outfile.txt INTO TABLE mysql.user
FIELDS TERMINATED BY \、
OPTIONALLY ENCLOSED BY \"
LINES STARTING BY \>
TERMINATED BY \n\r;

mysqlimport -u root -p mysql C:/Backup/outfile.txt "--fields-terminated-by=、" "--fields-optionally-enclosed-by=""

#非法代码和指令,仅用于演示使用
View Code

 

以上是关于MySQL笔记:备份与还原的主要内容,如果未能解决你的问题,请参考以下文章

MySQL-06-笔记

mysql读书笔记--备份还原

mysql笔记之常用备份还原

10_MySQL笔记-日志-备份和还原

MySQL如何备份与还原

[原创]MySQL数据库查询和LVM备份还原学习笔记记录