十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一般的数据备份用 :mysql路径+bin/mysqldump -u 用户名 -p 数据库名 导出的文件名
沛县网站建设公司创新互联,沛县网站设计制作,有大型网站制作公司丰富经验。已为沛县上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的沛县做网站的公司定做!
数据还原是:到mysql命令行下面,用:source 文件名;的方法。
但是这种方法对大数据量的表进行操作就非常慢。因为他不仅导出了数据还导出了表结构。
在针对大数据量的表时,我们可以用infile和 outfile来操作。
outfile导出数据库数据的用法:
下图我们可以看到6百多万数据35秒就搞定了:
下面我们看看infile的语法:
在infile导入数据的时候,我们还可以做一些优化。我们可以用
alter table table_name disable keys 关闭普通索引。等数据导入玩,再用:
alter table table_name enable keys 来开启普通索引。这样就不会边导入数据,边整理索引的二叉树儿影响导数据的效率。
如果可以保证 数据的正确性,我们可以将表的唯一索引也关闭,之后再开启,不是每条数据就算是唯一的他都要去检测一遍。命令:
set unique_checks=0; #关闭唯一校验
set unique_checks=1;#开启唯一校验
如果是InnoDB存储引擎,我们还可以set auto commit=0;关闭自动提交,来提高效率。InnoDB是按主键的顺序保存的,我们将其主键顺序排列也可以提高效率。
下面我们对myisam引擎的表做个测试,我们先不关索引,导入数据(用了近4分钟):
然后我们先把索引关闭试试(只用了一分钟多一点,快了不少啊!摸摸大!):
1、如果mysql的data数据很少,内存足够大,可以把data防止到内存盘中。
linux如下设置内存盘:
mount -t ramfs none /ram
默认使用内存一半
如果内存不够大,系统有多个硬盘,则把mysql应用程序和data目录分开到不同硬盘上。
2、mysql的表设置为myiasm,比同等条件下的innodb能快20倍以上
3、导入完成以后才创建数据库索引
4、导入完成以后根据需要转换为其他engine,比如innodb
5、多条数据插入一个表,可以使用多记录方式:
insert into tablename values(’xxx’,'xxx’),(’yyy’,'yyy’)…;
6、如果多个mysql执行导入,可以使用delayed
insert delayed into tablename values(’sss’,’ssss’);
7、大文件sql文件可以用split分成多份再导
8、同等条件下,redhat比ubuntu强很多(几乎肯定)
source 命令导入
1
连接进入数据库
windows : 开始菜单-运行 cmd
linux : 如果没有配置环境变量, 则到mysql 的bin 目录中去
2
输入: mysql -u root -p 回车 进入数据库
3
使用库/创建库 譬如数据库名字为:testdb
如果数据库存在, 则 use testdb
如果数据库不存在, 则创建 create database testdb 然后在 use testdb
4
将你要导入的数据库文件 *.sql 放到 D或者任意方便输入的位置, 我放置到了D盘的根目录下
然后输入命令: source d:/testdb.sql 回车,会看到如图的
END
mysqldump命令
1
进入到命令行模式。步骤直接同上第一步。
直接输入: mysqldump -u root -p testdb d:/testdb.sql 然后回车
2
会提示输入密码: 直接输入密码,回车搞定!
END
工具导入
1
我们常用的mysql工具有 phpmyadmin sqllog navcat 等。 工具导入的方式就以 sqllog 为例,
第一步新建数据库: 输入数据库名, 注意字符集和编码
2
右键数据库, “导入”-"执行SQL脚本" 然后选择数据库。 点击确定即可
3
点击“执行”, 可能会弹出一个对话框,直接忽略,点击“确定”就可以了
步骤阅读
MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cdMySQL中到bin文件夹的目录如我输入的命令行:cdC:\ProgramFiles\MySQL\MySQLServer4.1\bin(或者直接将windows的环境变量path中添加该目录)2,导出数据库:mysqldump-u用户名-p数据库名导出的文件名如我输入的命令行:mysqldump-uroot-pnewsnews.sql(输入后会让你输入进入MySQL的密码)(如果导出单张表的话在数据库名后面输入表名即可)3、会看到文件news.sql自动生成到bin文件下命令行导入数据库:1,将要导入的.sql文件移至bin文件下,这样的路径比较方便2,同上面导出的第1步3,进入MySQL:mysql-u用户名-p如我输入的命令行:mysql-uroot-p(输入同样后会让你输入MySQL的密码)4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库5,输入:mysqluse目标数据库名如我输入的命令行:mysqlusenews;6,导入文件:mysqlsource导入的文件名;如我输入的命令行:mysqlsourcenews.sql;