mysql备份数据库,恢复数据库
参考网址
https://blog.csdn.net/weixin_30095833/article/details/113280497?ops_request_misc=&request_id=&biz_id=102&utm_term=mysql%25E5%25A4%2587%25E4%25BB%25BD%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%25E8%25A1%25A8%25E5%2591%25BD%25E4%25BB%25A4&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-113280497.first_rank_v2_pc_rank_v29
1、打开CMD窗口(不要登录),通过命令备份mydb1数据库
备份命令: mysqldump -u用户名 -p 数据库名字 > 数据文件的位置
例如: mysqldump -uroot -p mydb1 > d:/mydb1.sql
输入密码, 如果没有提示错误, 即备份成功, 查询d盘的mydb1.sql文件
提示: (1)备份数据库的命令后面不要添加分号(;)
(2)备份数据库只是备份数据库中的表, 不会备份数据库本身
2、登录到MySQL客户端,删除mydb1库
– 删除mydb1库
drop database mydb1;
– 查询所有库, 是否还存在mydb1库
show databases;
由于备份时, 没有备份数据库本身, 所以在恢复库中的数据前, 需要先创建好要恢复的库
-- 创建mydb1数据库
create database mydb1 charset utf8;
提示: 此时的mydb1库是空的, 没有任何表
3、在CMD窗口中(不要登录),通过命令恢复mydb1数据库
– 在CMD窗口中(不要登录)
恢复命令: mysql -u用户名 -p 数据库名字 < 数据文件的位置
例如: mysql -uroot -p mydb1 < d:/mydb1.sql
输入密码, 如果没有提示错误, 即恢复成功, 下面进行验证
-- 在登录状态下, 选择mydb1库, 查询其中的表是否恢复了回来
use mydb1;
show tables;
4.命令总结
备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename