今天做自动化配置的时候发现一个问题,利用exec()或者system()名复制数据库时为空,导出sql文件也为空。
利用mysqldump -uroot -proot db_name1>bak1.sql 这命令导出db_name1这个数据库的数据到bak1.sql发现创建文件成功,数据为空。
刚开始以为是账号密码格式不对,反复调试都不对。
同理我利用mysqldump db_name1 -uroot -proot --add-drop-table | mysql db_name2 -udb_user2 -pdb_pwd2 快速复制数据库和数据的命令也没用。
解决:
最终选择:system(‘C:\phpStudy\PHPTutorial\MySQL\bin\mysqldump db_name1 -uroot -proot --add-drop-table | C:\phpStudy\PHPTutorial\MySQL\bin\mysql db_name2 -udb_user2 -pdb_pwd2’,$res);print_r($res);
①账号权限给足
②mysql的路径要正在【重要】,在window系统尤其要注意。