我需要一种方法来轻松导出,然后将MySQL表中的数据从远程服务器导入我的家庭服务器.我没有直接访问服务器,也没有安装phpMyAdmin等实用程序.但是,我确实能够将PHP脚本放在服务器上.
我如何获得数据?
我问这个问题纯粹是为了记录下去的方式
我想将我的数据库转储到一个文件中.
某些网站主机不允许远程或命令行访问,因此我必须使用一系列查询来执行此操作.
所有相关问题都说"use mysqldump"这是一个很棒的工具,但是我没有命令行访问这个数据库.
我希望CREATE和INSERT命令同时创建 - 基本上,相同的性能mysqldump.是SELECT INTO OUTFILE正确的旅行之路,还是有其他我忽视的东西 - 或许这是不可能的?
所以这对我来说是新的.当使用David Walsh的这个MySQL数据库PHP脚本时,我在运行它时得到一个空的SQL文件.
<?php
backup_tables('localhost','username','password','blog');
/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
$return = '';
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);
//get all of the tables
if($tables == '*')
{
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
//cycle through
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
$return.= 'DROP TABLE …Run Code Online (Sandbox Code Playgroud) 我一直在尝试通过单击链接来实现数据库备份功能.我正在做的是将我的函数写入AppController&函数是...
public function backup($tables = '*') {
$this->layout = $this->autoLayout = $this->autoRender = false;
if ($tables == '*') {
$tables = array();
$result = $this->query('SHOW TABLES');
while ($row = mysql_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',', $tables);
}
foreach ($tables as $table) {
$result = $this->query('SELECT * FROM ' . $table);
$num_fields = mysql_num_fields($result);
$return.= 'DROP TABLE ' . $table . ';';
$row2 = mysql_fetch_row($this->query('SHOW CREATE TABLE ' . …Run Code Online (Sandbox Code Playgroud) 我试图通过PHP获取数据库的mysqldump,我只能通过这种方式通过命令行进行数据库转储.
d:
cd "d:\wamp\bin\mysql\mysql5.5.24\bin"
mysqldump.exe
mysqldump --user=user --password=password --host=localhost db_name > "D:\dump\test.sql"
Run Code Online (Sandbox Code Playgroud)
当试图以这种方式从php执行此命令时,我得到一个空的转储文件.
$cmd = 'd: cd "d:/wamp/bin/mysql/mysql5.5.24/bin"mysqldump.exe>mysqldump --user=user --password=password --host=localhost db_name > "D:\dump\test.sql"';
exec($cmd);
Run Code Online (Sandbox Code Playgroud)
或者这样
$cmd = 'd:/wamp/bin/mysql/mysql5.5.24/bin>mysqldump.exe>mysqldump --user=user --password=password --host=localhost db_name > D:\dump\test.sql';
exec($cmd);
Run Code Online (Sandbox Code Playgroud)
或者这样
$cmd = 'd:/wamp/bin/mysql/mysql5.5.24/bin>mysqldump --user=user --password=password --host=localhost db_name > D:\dump\test.sql';
exec($cmd);
Run Code Online (Sandbox Code Playgroud)
我只得到空的转储文件.我已经经历了很多的问题在这里一样了这个,而这和很多,但没有该解决方案为我工作.
请查看并建议任何可行的方法.
谢谢.
我在尝试使用 Codeigniter dbutil backup() 函数备份在线休息服务器上的数据库时遇到致命错误:允许的内存大小为 33554432 字节耗尽(试图分配 91 字节)错误。
这是我的代码:
$this->load->dbutil();
$backup =& $this->dbutil->backup();
$this->load->helper('file');
write_file('./uploads/db/mybackup.gz', $backup);
Run Code Online (Sandbox Code Playgroud)
我不知道我哪里做错了。
mysql ×4
php ×4
backup ×1
cakephp ×1
cakephp-2.0 ×1
codeigniter ×1
command-line ×1
database ×1
export ×1
mysqldump ×1
sql ×1