掌握mysql备份及恢复sql文件,是一个必不可缺少的技能,有些人可能会说不是有类似phpmyadmin之类的工具吗,虽然phpmyadmin在一定程度上给了我们很大的便利,但是他也有很多的限制,比如导入文件的大小限制。
下面以wamp环境为例:
mysql 备份sql文件:
首先进入msyql 安装目录(我的msyql 在d盘符):
C:\Users\Administrator>d:
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.6.17
D:\wamp\bin\mysql\mysql5.6.17>cd bin
D:\wamp\bin\mysql\mysql5.6.17\bin>mysql -u root
当出现上面图片中的代码,代表已经可以连接mysql数据库,之后进行mysql数据备份:
进入cmd下输入以下代码:
mysqldump -u 用户名 -p 导出的数据库名>D:\test.sql
之后去d盘查看test.sql文件,你会发现已经备份完成,不过有的时候可能不需要备份整个的数据库,而是只备份某数据库中的某张表:
mysqldump -u root -p 数据库名 表名 > d:\test_biao.sql
如果只是备份数据表结构而不需要数据可以使用:
mysqldump -u root -p -d 数据库名 > d:\test_jg.sql
而如果确定到某个表,就如同上面备份某个表的数据一样 只不过用 -d 区分:
mysqldump -u root -p -d 数据名 表名 >d:\test_jg.sql
下面是数据恢复的方法。可以使用如下代码:mysql -h localhost -u root -p 数据库名 < d:\test.sql
还有一种方法如下:source命令,运行此命令需要在数据库中选择需要恢复的数据库
具体的代码如下:
source d:/test.sql
有几点需要注意的地方,当备份数据库是应选择正确的编码方式,要与cmd编码相对应,其二,恢复数据库文件有大小限制,这点可以修改php.ini 中的设置,如下:
memory_limit=128M,upload_max_filesize=2M,post_max_size=8M
-----2016-12-16------
今天看到mysql ibdata1文件过大,打算备份一下整个数据库才发现,上面的内容没有纪录备份整个数据库的方案,以下进行补充:
首先使用mysqldump --help 可以查看帮助内容
如图,可以看到备份全部databases 可以使用上述方式,贴命令行代码如下:
mysqldump -u root -p --all -databases > /Users/dirname/Desktop/test/li/bK/backall.sql