MySQL数据库备份和还原的常用命令?

1 . 备份MySQL数据库用mysqldump。
mysqldump -h hostname -u username -p password databasename > backupfile.sql 在具体项目中,比如1 9 2 .1 6 8 .1 .1 00的test库,用mysqldump -h 1 9 2 .1 6 8 .1 .1 00 -u root -p test > test_backup.sql。

2 . 备份带删除表的格式用_add-drop-table。
mysqldump -_add-drop-table -u username -p password databasename > backupfile.sql 这样备份的文件能覆盖目标数据库,比如mysqldump -_add-drop-table -u root -p test > test_full_backup.sql。

3 . 压缩备份用gzip流式处理。
mysqldump -h hostname -u username -p password databasename | gzip > backupfile.sql.gz 对h3data库备份,mysqldump -h 1 9 2 .1 6 8 .1 .1 00 -u root -p h3data | gzip > h3data_backup.sql.gz。

4 . 备份特定表用表名列表。
mysqldump -h hostname -u username -p password databasename specific_table1 specific_table2 > backupfile.sql 备份user和order表,mysqldump -h 1 9 2 .1 6 8 .1 .1 00 -u root -p test user order > tables_backup.sql。

5 . 备份多个库用空格分隔库名。
mysqldump -h hostname -u username -p _databases databasename1 databasename2 databasename3 > multibackupfile.sql 备份test和production库,mysqldump -h 1 9 2 .1 6 8 .1 .1 00 -u root -p _databases test production > multi_backup.sql。

6 . 只备份结构用--no-data。
mysqldump --no-data databasename1 databasename2 databasename3 > structurebackupfile.sql 备份test库结构,mysqldump --no-data test > test_structure.sql。

7 . 备份所有库用--all-databases。
mysqldump --all-databases > all_backup.sql 备份整台服务器,mysqldump --all-databases > server_all_backup.sql。

8 . 还原数据库用mysql命令。
mysql -h hostname -u username -p databasename < backupfile>
9 . 还原压缩备份用gunzip流式处理。
gunzip < backupfile>
1 0. 转移数据库用管道跨服务器。
mysqldump -u username -p password databasename | mysql -h mysql_host=... -C databasename 从1 9 2 .1 6 8 .1 .1 00转移test库到1 0.0.0.1 00,mysqldump -u root -p test | mysql -h 1 0.0.0.1 00 -C test。

你自己掂量。

怎么还原,恢复或导入MySQL数据库

source命令: 1 . 开始于Windows,打开MySQL命令行客户端,输入root密码。
2 . 输入use 数据库名;选择数据库。
3 . 使用source 备份文件路径;导入数据。

mysql命令: 1 . Windows下进入MySQL bin目录,Linux直接执行。
2 . 格式:mysql -u用户名 -p密码 数据库名 < 备份文件路径
数据库导出(备份): 1 . 进入MySQL bin目录。
2 . 格式:mysqldump -u用户名 -p密码 数据库名 > 备份文件路径

图解Navicat for MySQL数据备份及还原

哎哟,这Navicat操作MySQL备份还原啊,我跟你讲讲我当年踩的坑。

那年头,我刚接手一个项目,服务器在杭州,数据库得有几百G,客户要求每个表单独备份,不能整个库一通糊。
当时我就懵了,这要是用命令行搞,我得写多少遍脚本啊。
还好公司有老哥,给我演示了下Navicat,还真省事。

你看啊,备份的话,先点那个“备份”按钮,对,就是导航栏最显眼那个。
然后点“新建备份”,选你要备份的库,最好是全选,不然漏了就麻烦了。
点“开始”,等它备份完。
备份完了,你可以在备份记录里找到,点那个时间点,有个“常规”,点进去就能看备份文件放哪儿了,多大,啥时候弄的。
这很重要,万一忘了路径,还得再跑一趟服务器找。

还原的时候,也是点“备份”按钮,然后“还原备份”。
选你要还原的那个备份文件,点“开始”。
有时候它会弹出个窗口说“这个操作会覆盖现有数据”,这时候你得特别小心。
记得有一回我手一抖,把生产库当测试库还了原,好家伙,客户那边直接炸锅了。
所以还之前,一定要三遍确认,备份文件对不对,是不是最新那个。

我以前在一个小公司,服务器硬盘就剩1 0%空间了,备份文件还得往那儿塞,结果备份过程老是中断。
后来发现是空间不够,赶紧清理了点没用的日志,才搞定。
所以备份前,一定得看看存储路径还有没有空间,别等报错了再想办法。

哦对了,还原的时候,如果中途断电或者程序崩溃了,你得重启Navicat,然后去看备份日志,看看是哪一步出的问题。
我这有个备份日志,你看下这里,标记了“还原失败,第3 步出错”,得具体看是啥原因。

反正啊,备份还原这事儿,看似简单,但细节多着呢。
你按我说的试试,不出岔子的话,你就能搞定。