整了半天MySQL的数据备份,结果思路被其他的问题牵走了,第二天才发现我忘了记录,没有找到自己关于MySQL数据备份的相关博客,所以为了方便今后查阅,也方便学习巩固,特此写一篇关于MySQL数据备份以及恢复的博客。
一、实例
这里先附上我在Windows中MySQL进行的备份和恢复实例操作。
#备份
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump -u root -p my_test student > C:\Users\ZLJ\Desktop\student.sql
Enter password: ******
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.7.17-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use my_test
Database changed
#恢复
mysql> source C:\Users\ZLJ\Desktop\student.sql
二、MySQL中使用mysqldump进行备份的命令
(1)导出整个数据库(导出文件默认是存在mysql\bin目录下)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
(2)导出表
mysqldump -u 用户名 -p 数据库名 [表名1、表名2…]> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
(3)导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
(4)带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
三、Linux中的备份和恢复
(1)备份
Linux中的备份也大致相同,当然一般我们都是会进行定时备份,Linux中我则是结合crontab进行定时备份。
(2)恢复
mysql -u root -p web < ~/web.sql
四、拓展
其实MySQL的备份恢复方式就有很多,除了通过MySQL自带的mysqldump进行备份,还可以通过phpmyadmin或者SQLyogEnt等方式进行。
这里再附上几篇介绍非常详细的MySQL备份相关文章:
MySQL备份和还原操作
MySQL数据库备份与恢复