MySQL导入导出sql文件

本文介绍了如何使用 mysqldump 工具进行 MySQL 数据库的备份与恢复操作,包括整个数据库、特定表及数据库结构的导出方法,并解决了导入大文件时遇到的限制问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.从数据库导出数据库文件:

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
二.从外部文件导入数据到数据库中:
从e:/mysql/mydb2.sql中将文件中的SQL语句导入数据库中:
1.从命令行进入mysql,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。
2.退出mysql 可以输入命令exit;或者quit;
3.在CMD中输入下列命令:
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=200 M  这里修改满足你需要的大小,
可以同时修改其他两项memory_limit=250M  post_max_size=200M
这样就可以导入200M以下的.sql文件了。

### MySQL SQL 文件的导入与导出方法 #### 导出 SQL 文件 通过 `mysqldump` 工具可以轻松实现数据库或表的数据和结构导出到一个 `.sql` 文件中。以下是具体的命令: 对于整个数据库的导出,可使用如下命令: ```bash mysqldump -h[主机IP] -u[用户名] -p [要导出的数据库名称] > [目标路径/文件名].sql ``` 此命令会将指定数据库的内容导出至指定位置的 `.sql` 文件中[^2]。 如果仅需导出某个特定表,则可以在命令后追加该表的名字: ```bash mysqldump -h[主机IP] -u[用户名] -p [数据库名称] [表名] > [目标路径/文件名].sql ``` #### 导入 SQL 文件 在导入之前,通常需要确保已存在相应的数据库或者表结构已经创建好。可以通过以下方式完成数据恢复操作: 针对整个数据库的恢复,执行下面这条指令即可: ```bash mysql -u [用户名] -p [数据库名称] < [源路径/文件名].sql ``` 这一步骤将会把存储于本地磁盘上的 `.sql` 脚本重新加载回服务器中的对应数据库里去[^1]。 如果是单独某张表格的情况,在实际运行前可能还需要手动建立对应的空壳子出来再做填充动作;当然前提是这些对象尚未存在于目标环境当中[^3]。 另外需要注意的是,当面对跨平台迁移场景比如从 Windows 到 Linux 或者反之亦然的时候,请务必确认编码格式的一致性以及换行符处理得当等问题以免引发不必要的麻烦[^4]。 ```python # 示例 Python 脚本用于自动化上述过程 (仅供参考) import os def export_database(host, user, password, db_name, output_path): command = f'mysqldump -h{host} -u{user} -p{password} {db_name} > {output_path}' os.system(command) def import_sql_file(user, password, db_name, input_path): command = f'mysql -u{user} -p{password} {db_name} < {input_path}' os.system(command) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值