mysqldump及其命令用法

本文介绍了mysqldump工具的基本用法及常见操作案例,包括如何导出整个数据库、单个表或数据库结构,特别适用于Dreamhost和Bluehost等主机环境。

http://blog.youkuaiyun.com/yangyu112654374/article/details/4674478

MySQL数据库的备份工具有很多,不过这里介绍的是一个小巧好用的mysqldump工具,位于数据库目录下bin/mysqldump.exe.这几天用phpMyAdmin备份数据库的时候出现乱码,反复在本地跟远程的Dreamhost空间上测试了数据库,但是还是导出数据库会出现乱码,应该是phpMyAdmin出现的问题,数据库本身没有问题.扯远咯,呵呵.我Google到的关于mysqldump工具的相关用法.
  如果主机主机支持 Shell 的话,可以 SSH 登陆主机,执行如下的命令实现备份与恢复,适合在Dreamhost,Bluehost等空间上.

导出数据库:
mysqldump -h HOSTNAME -uUSERNAME -p DBNAME > exported_db.sql

导入数据库:
mysql -h HOSTNAME -uUSERNAME -p DBNAME < exported_db.sql

  HOSTNAME 是数据库主机名,USERNAME 和 DBNAME 分别是登陆 ID 和数据库名,导出的数据库存放在 exported_db.sql 文件里。 巧克力工厂(Beta5):Wordpress 超大数据库的导入.

使用mysqldump:
(mysqldump命令位于mysql/bin/目录中) //要专到mysql/bin/目录中才能使用,直接cmd运行命令窗口使用不了,专到数据库所在的mysql/bin/目录中使用.

基本用法是: shell> mysqldump [OPTIONS] database [tables]

如果你不给定任何表,整个数据库将被导出。

通过执行mysqldump –help,你能得到你mysqldump的版本支持的选项表。

注意,如果你运行mysqldump没有–quick或–opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

几个常用用例:

1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p dataname >dataname.sql
这个时候会提示要你输入root用户名的密码,输入密码后dataname数据库就成功备份在mysql/bin/目录中.

2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p dataname users> dataname_users.sql

3.导出一个数据库结构
mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:/wcnc_db.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table

### mysqldumpWindows CMD 中无法使用的原因 mysqldump 是 MySQL 提供的一个用于备份数据库的工具,在某些情况下可能会遇到在 Windows 的 CMD 环境下不可用的情况。以下是可能原因及其对应的解决方案。 #### 可能原因分析 1. **路径未配置环境变量** 如果 `mysqldump` 执行失败,可能是由于系统 PATH 环境变量中未包含 `mysqldump.exe` 文件所在的目录位置[^3]。如果该可执行文件不在系统的默认搜索路径中,则会提示找不到命令。 2. **权限不足** 运行 `mysqldump` 需要访问 MySQL 数据库并读取其内容。如果没有提供足够的权限或者用户名密码错误,可能导致命令无法成功运行[^1]。 3. **字符集不匹配** 当前操作系统或终端使用的字符集与 MySQL 数据库中的字符集不同步时,可能出现乱码现象。尤其是在 Windows 平台上,默认字符集为 GBK 或其他本地化设置,而 MySQL 默认使用 UTF-8 编码[^2][^4]。 4. **PowerShell 和 CMD 差异** 使用 PowerShell 而不是传统的 CMD 来执行 `mysqldump` 命令时,可能会因为编码处理方式的不同而导致问题。建议仅通过标准 CMD 终端来操作命令以避免潜在冲突[^4]。 --- ### 解决方案 #### 方法一:确认并添加 mysqldump 到系统 PATH 确保 `mysqldump.exe` 存在于当前用户的 PATH 环境变量列表里。可以通过以下步骤完成: 1. 查找 `mysqldump.exe` 实际安装路径(通常位于类似于 `C:\Program Files\MySQL\MySQL Server X.X\bin` 的地方); 2. 将上述路径追加至计算机高级属性 -> 系统变量下的 Path 字段内; 3. 重新打开一个新的 CMD 窗口验证是否可以直接调用 `mysqldump --help` 测试帮助文档显示正常即可证明已生效。 #### 方法二:显式指定完整路径 如果不希望修改全局环境变量的话,也可以每次手动输入完整的程序地址来进行调用。例如假设你的 mysqldump 安装于 `C:\Program Files\MySQL\MySQL Server 5.7\bin` 下面,则可以这样写入指令: ```bash "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" -u root -p database_name > backup.sql ``` #### 方法三:调整字符集参数 为了避免中文乱码情况发生,可以在执行 `mysqldump` 时候增加额外选项强制设定客户端和服务端都采用统一的文字编码形式。比如下面例子就是让整个过程基于 utf8mb4 处理所有字符串数据传输: ```bash mysqldump --default-character-set=utf8mb4 -u username -p password dbname > outputfile.sql ``` 这里需要注意的是实际应用过程中应替换掉 placeholder 如 `-u username`, `-p password` 等真实值. #### 方法四:切换到传统 CMD 控制台 鉴于之前提到过 Power Shell 对部分特殊符号解析存在问题从而影响最终效果表现,所以推荐改回到经典 DOS 样式的 Command Prompt 上继续尝试相同的操作流程看能否解决问题. --- ### 总结 综上所述,当面对 `mysqldump` 在 Windows CMD 中失效的情形时可以从多个角度出发排查具体成因,并采取相应措施加以修复。无论是补充必要的环境配置还是优化具体的语法结构都能有效提升成功率。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值