您的位置:首页 > 数据库 > MySQL

mysql导入导出.sql文件备份还原数据库

2011-12-29 00:28 746 查看
步骤:
一.MYSQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->PATH=";path/mysql/bin;" 其中path为MYSQL的安装路径。

二.命令行进入MYSQL的方法:
C:\>mysql -h hostname -u username -p
按ENTER键,等待然后输入密码,这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行就可以直接操作MYSQL了。

三.从数据库导出数据库文件:
1.将数据库mydb导出到e:\mysql\mydb.sql文件中:
打开开始->运行->输入cmd进入命令行模式
c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql
然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

2.将数据库mydb中的mytable导出到e:\mysql\mytable.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb mytable >e:\mysql\mytable.sql

3.将数据库mydb的结构导出到e:\mysql\mydb_stru.sql文件中:
c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql
//-h localhost可以省略,其一般在虚拟主机上用

四.从外部文件导入数据到数据库:
从e:\mysql\mydb2.sql中将文件中的SQL语句导入数据库中:
c:\>mysql -h localhost -u root -p mydb2 <e:\mysql\mydb2.sql
然后输入密码,就OK了

五.关于导入文件大小限制问题的解决:
默认情况下:mysql对导入的文件大小有限制的,最大为2M,所以当文件很大时,直接无法导入,解决列举如下:

1.在php.ini中修改相关参数:
影响Mysql导入文件大小的参数有三个:
memory_limit=128M, upload_max_filesize=2M, post_max_size=8M
修改upload_max_filesize=200M这里修改满足你需要的大小,可以同时修改其他两项memory_limit=250M ,post_max_size=200M.这样就可以导入200M以下的.sql文件了。

上文是把mysql放置在系统路径下,其实不放也可以。如我的mysql安装目录为D:\MySQL Server 5.0;则首先打开dos窗口,然后输入D:(没有'\')回车;此时应该会出现D:\>这样的标志,然后在其后输入D:\MySQL Server 5.0\bin回车;出现D:\MySQL Server 5.0\bin>接着输入mysqldump -u root -p 数据库名 >数据库名.sql(也可以输入路径); (具体参照上面)导入文件同样,只是改了'>'为'<'就可以了,或者直接用source也可:

【常用source命令】
进入mysql数据库控制台 : 如 mysql -u root -p
mysql>use databasename
然后使用source命令,后面参数为脚本文件(这里用到的是.sql)
mysql>source d:\mydb.sql

小白惊奇的发现,dos下导入sql文件是没有什么2M限制

而且 有时用 souce导入会莫名其妙报错

用 mysql -uroot -p gbpx<gbpx.sql则不会报错,雷的白叔外焦里嫩

乱码问题

小白是gb2312的库,而默认的mysql cmd环境下是西文码

mysql -uroot -p gbpx<gbpx.sql 直接导入会全是乱码

所以采用

mysql -uroot -p gbpx<gbpx.sql --default-character-set=gb2312

这么导入才行,注意 default前是两道

方法二: mysql在命令行导入乱码解决(没有试验过)

1. use database_name;

2. set names utf8; (或其他需要的编码)

3. source example.sql (sql文件存放路径)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: