php使用mysqldump命令导出数据文件内容为空的问题

最近用php写一个数据备份的功能。做法是使用php的system函数执行mysqldump命令,进行备份。代码:

<?php
system('mysqldump -u root -p 123456 exp>D:/bak/exp.sql', $i);
var_dump($i);
如果成功页面应该输出0的,可是一直输出1,目录下也生成文件1.sql了,但是0字节,空的。

解决办法:

1.  去除空格(-u跟用户名的空格,-p跟密码的空格):
system('mysqldump -uroot -p123456 exp>D:/bak/exp.sql', $i);
2. mysqldump.exe文件的路径问题,在命令中必须指定该文件的路径,且路径中的任何一个文件夹名字中都不能有空格
system('E:/xampp/mysql/bin/mysqldump -uroot -p123456 exp>D:/bak/exp.sql', $i);
3. 这一点必须要注意,mysql的数据库密码一定不能为空,如果密码为空,那么mysqldump 就不可以用了 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值