使用了 navicat 和 phpmyadmin 导入一个 413m 的文件 均已失败告终,那么mysql的大数据库文件怎么导入导出呢?
windows环境下的命令导出导入简单方法,济宁网站建设整理如下,拿走不谢。
使用 mysql 的命令行导入方法:(先说一种网上查找到的方法,我用的时候失败了,这个方法可以导入小数据库)
键盘 win+r 弹出命令窗口,
进入你的mysql路径,比如 d: ;cd d:/mysql/bin/
这样就进入到了mysql目录,
进入到 mysql.exe 的 命令窗口进行输入以下命令,可以直接复制修改。
Mysql> mysql -u root -p root sqlname < c:/sqlname
Mysql -u root(用户名) –p root(这个是数据库密码) sqlname(这个是数据库名字) c:/name.sql(这个是要导入的数据库)
这个方法我使用是失败的。
下面说一下正确的方法,测试可行。首先修改max_allowed_packet值:
方法1: SET GLOBAL max_allowed_packet = 500*1024*1024;(经测试无效)
方法2: 直接修改配置文件,重启mysql
windows中修改my.ini文件,在linux中修改my.cnf文件.
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini(安装mysql时的,指定的数据文件目录)
重启mysql后,在查看修改后的max_allowed_packet值
问题2:登录时指定字符集编码 这一步我没使用
mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口号)
最后通过source命令 即可成功导入: source E:ydj\test.sql
最后来总结一下 成功的这个方法
进入 mysql.exe
然后 输入 use sqlname(进入这个数据库名字)
Source c:\name.sql 成功。就是这么简单。
但是需要修改下 mysql 和php.ini的配置
配置过程中,需要注意的东西,专业php程序员可以忽略不看:
检查my.ini
max_allowed_packet=1M
改为 600M
max_allowed_packet=600M
修改PHP.ini中的 max_execution_time的值,默认为300,单位是秒,例如:
;max_execution_time = 300
;将其改为:
max_execution_time = 3000
在my.ini文件中添加或者修改以下两个变量:
wait_timeout=2880000
interactive_timeout = 2880000
文件过大时你需要修改php.ini这个文件,里面默认是2m,你修改大一点的数据即可即post_max_size = 2M和
upload_max_filesize = 2M这2个地方,2m改成600m
济宁网站建设总结的比较大的mysql数据库导入方法就结束了,下面再说下命令行的导出方法。
mysql命令导出数据库 备份数据库方法:
- win+r cmd
d: cd: D:\SOFT_PHP_PACKAGE\mysql\bin
输入 mysqldump –uroot –p sqlname(数据库名字) > name.sql(导出的名字 在 bin目录下)
注意 –uroot -p 不要有空格 否则会报错 比如 –u root 这样是不对的 ;-p后面可以不写密码,那么回车之后 输入密码更安全一些。
还有一点需要注意,bin之上的目录不可以有空格,否则导出的sql为空。
另外中途 还报错 ,以下是报错,但是 我 把 数据库目录下 以前复制的 副本文件删除就好了。
mysql出现Table doesn’t exist when using LOCK TABLES的情况,网上也有说是在表里面找不到该表,后来google了一下是该表删了,但是mysql的表文件还在,直接删除t_basegoods.frm文件就可以了。
济宁网站建设今天就总结这么多,希望可以帮到您。