Sunucu veya phpMyAdmin erişimi olmayan bir SQL tablo ihracat için kolay yolu

6 Cevap php

Ben kolayca benim ana sunucuya uzak bir sunucudan MySQL tablodan sonra ithalat verileri verme ve bir yol gerekir. Ben sunucuya doğrudan erişimi yok ve phpMyAdmin gibi hiçbir yarar yüklenir. Ben, ancak, sunucu üzerinde PHP betikleri koymak yeteneği var.

Nasıl verilere alabilirim?

I ask this question purely to record my way to do it

6 Cevap

Bunun için SQL kullanabilirsiniz:

$file = 'backups/mytable.sql';
$result = mysql_query("SELECT * INTO OUTFILE '$file' FROM `##table##`");

Sonra sadece dizin / dosya (yedekleme / mytable.sql) bir tarayıcı veya FTP istemcisi etmektedir. Bu dosya adını, örneğin bir zaman damgası verilen, aynı zamanda aşamalı yedekleme yapmak için güzel bir yoldur.

Eğer kullanabileceğiniz dosyadan veritabanına onu geri almak için:

$file = 'backups/mytable.sql';
$result = mysql_query("LOAD DATA INFILE '$file' INTO TABLE `##table##`");

Diğer seçenek sunucu üzerinde bir sistem komutu çağırmak ve 'mysqldump' çalıştırmak için PHP kullanmak için:

$file = 'backups/mytable.sql';
system("mysqldump --opt -h ##databaseserver## -u ##username## -p ##password## ##database | gzip > ".$file;);

Ben CSV ihracat, ve sonra var olan her türlü programı ile alarak yaptım. Oldukça php :/ / çıkış akımının kullanımı gibi.

$result = $db_con->query('SELECT * FROM `some_table`');
$fp = fopen('php://output', 'w');
if ($fp && $result) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="export.csv"');
    while ($row = $result->fetch_array(MYSQLI_NUM)) {
        fputcsv($fp, array_values($row));
    }
    die;
}

Ayrıca phpMinAdmin ki sadece bir dosya düşünmelisiniz, o kadar kolay yükleme ve kurulum için.

You might consider looking at: http://www.webyog.com This is a great GUI admin tool, and they have a really neat HTTP-Tunneling feature (I'm not sure if this is only in enterprise which costs a few bucks).

Temelde bunun için site alanı içine sağladıkları bir script (php script) ve nokta sqlyog yöneticisi yüklemek ve veritabanı (ler) erişebilirsiniz. Bu tünel / vekil ev istemci ve sunucu arasındaki istekleri / sorguları için bu komut dosyasını kullanır.

Ben iyi sonuçlar ile bu yöntemi kullanan en az 1 kişiyi biliyorum.

FTP / SFTP erişiminiz varsa sadece devam edin ve phpMyAdmin kendiniz yükleyebilir.

I'm using this little package to make automated mysql backups from a server I only have FTP access to:
http://www.taw24.de/download/pafiledb.php?PHPSESSID=b48001ea004aacd86f5643a72feb2829&action=viewfile&fid=43&id=1
The site is in german but the download has some english documentation as well.

A quick google also turns up this, but I have not used it myself:
http://snipplr.com/view/173/mysql-dump/

Ben komut satırı üzerinden mysqldump kullanın:

exec("mysqldump sourceDatabase -uUsername -p'password'  > outputFilename.sql");

Sonra sadece sonuçlanan dosya ve bitti indir.