Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Backup mysql

  1. #1

    Backup mysql

    Ho usato la classe MySQL_Dump Class di daniele_dll in unione con il seguente script (non è mio, non ricordo più chi lo ha messo a disposizione):
    <?php
    require_once("MySQL_DumpDB.cls.php");
    echo date("l dS of F Y h:i:s A")."\r\n";
    $DB_HOST = "62.149.150.29";
    $DB_USER = "miouser";
    $DB_PASS = "miapwd";
    $link = mysql_connect($DB_HOST, $DB_USER, $DB_PASS);
    $db_list = mysql_list_dbs($link);


    $i = 0;

    while ($row = mysql_fetch_object($db_list)) {
    $connect = mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die ("Errore nella connessione al DataBase.");
    $dbdump = &new MySQL_DumpDB();
    $dbdump->dump_database($row->Database,TRUE,TRUE);
    $dbdump->export_dump(TRUE, FALSE, TRUE);
    $fp = fopen("DUMP/".$row->Database.".txt", "wb");


    fwrite($fp,$dbdump->get_dump(FALSE));


    fclose($fp);
    echo $row->Database." --> OK\r\n";
    }
    echo " ####################################\r\n
    \r\n";
    ?>
    Ora se metto il tutto su server che hanno come indirizzo host del mysql localhost tutto funziona alla perfezione, mentre su aruba il cui host mysql è 62.149.150.29, mi restituisce l'errore:
    Warning: mysql_list_dbs(): Unable to save MySQL query result in /web/htdocs/www.spotelefonici.it/home/flyform/backup.php on line 8

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /web/htdocs/www.spotelefonici.it/home/flyform/backup.php on line 13
    A qualcuno è già successo? Mi sapete dare una spiegazione?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    A parte il fatto che ti connetti due volte al db e non capisco perché, probabilmente l'errore è dovuto al fatto che in remoto il db ti rifiuta la connessione. Dovresti testare tutti i comandi che invii al database, invece non lo fai mai.

    mysql_connect(......) or die(mysql_error());
    mysql_list_dbs(.....) or die(mysql_error());
    ecc...

  3. #3
    hola

    è normale che list dbs non va xche aruba mica ti può inviare la lista di TUTTI i database che ha

    su aruba ne hai 5 se non erro, quindi esportati quei 5 e basta ^^

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da daniele_dll
    hola

    è normale che list dbs non va xche aruba mica ti può inviare la lista di TUTTI i database che ha

    su aruba ne hai 5 se non erro, quindi esportati quei 5 e basta ^^
    Immagino che list_dbs restituirà la lista dei db che l'utente connesso è autorizzato a vedere

  5. #5
    Originariamente inviato da luca200
    Immagino che list_dbs restituirà la lista dei db che l'utente connesso è autorizzato a vedere
    non credo
    mi pare di aver letto sul manuale che l'utente, se non ha il permesso, non può vedere nessun database

    purtroppo non riesco a connettermi al sito di mysql...cmq

    (preso da un manuale di mysql 4.0.5)
    SHOW DATABASES lists the databases on the MySQL server host. You can also get this list using the mysqlshow command line tool. In version 4.0.2 you will only see those databases for which you have some kind of privilege, if you don't have the global SHOW DATABASES privilege.
    quindi mi sa che tutte le versioni precedenti alla 4.0.2, comprese quindi quelle della serie 3.x, forse tranne le ultimisse, non fanno vedere i database completamente [dato che nella 4.0.2 hanno specificatamente implementato la visualizzazione di database se hai qualche genere di permesso su quelli]

    boh, poi non so

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    In version 4.0.2 you will only see those databases for which you have some kind of privilege, if you don't have the global SHOW DATABASES privilege.
    E' esattamente quello che ho detto io

  7. #7
    Originariamente inviato da luca200
    E' esattamente quello che ho detto io
    :master: :master:

    si ma dipende dalla versione che aruba monta sui suoi server web :\

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    qualsiasi limitazione possa esserci, male che vada quel comando potrà restituirti nulla, non certo un errore. Il suo problema è che ha un errore, e quasi sicuramente perché non ha l'autorizzazione per l'accesso remoto.

    Quello che dice il manuale è che a partire dalla 4.0.2 puoi vedere solo ciò che sei autorizzato a vedere. Non vuol dire che prima non vedevi niente, ma al contrario che vedevi tutto.

  9. #9

    Precisazioni

    Utilizzando lo stesso script su di un server ottengo tutti i nomi dei db presenti ma gli unici di cui mi fa il backup sono quelli per cui ho l'accesso, quindi tutto bene. Il problema su aruba è che sembra che non esista neppure un Db a cui io ho accesso il che non è vero perchè il mio sito ci lavora normalmente. Ho provato invece della lista che prevede come avete giustamente detto 5 db, ad accedere ad uno solo con questo:
    <?php


    require_once("MySQL_DumpDB.cls.php");

    /
    // Set Content Type
    header("Content-Type: text/plain");

    // Connect to MySQL
    mysql_connect("62.149.150.29", "miauser", "miapwd");

    // Init Class
    $dbdump = &new MySQL_DumpDB();


    // Try to select db miodb
    if ($dbdump->dump_database("midb")) {
    //echo "Database 'miodb' added for DUMP\n";

    // Set Header Comment
    $dbdump->define_COMMENT("header", "# BACKUP DEL DATABASE MySQL\n");

    // Export Dump
    $dbdump->export_dump(TRUE);

    // Get it
    $dump = $dbdump->get_dump();

    // Check for DUMP
    if ($dump) {
    // If all ok, Print it
    echo "\n\n";
    echo $dump;
    } else {
    // If something fail...
    echo "Backup fallito!!!\n";
    }
    } else {
    // If fail...say it
    echo "Non sono riuscito a preparare il BACKUP!\n";
    }

    // Flush
    flush();

    // Close connection
    mysql_close();

    ?>

    risultato:



    Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /web/htdocs/www.spotelefonici.it/home/flyform/php/backup.php on line 33



    Warning: mysql_get_server_info(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 1053



    Warning: mysql_get_server_info(): A link to the server could not be established in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 1053



    Warning: mysql_get_host_info(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 1054



    Warning: mysql_get_host_info(): A link to the server could not be established in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 1054



    Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 62



    Warning: mysql_query(): A link to the server could not be established in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 62



    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /web/htdocs/www.spotelefonici.it/home/flyform/php/MySQL_DumpDB.cls.php on line 65

    Non sono riuscito a preparare il BACKUP!


    Warning: mysql_close(): no MySQL-Link resource supplied in /web/htdocs/www.spotelefonici.it/home/flyform/php/backup.php on line 70

    Sembra che siano errate miouser e miapwd ma sono quelle che uso per la connessione al db nel sito e funzionano perfettamente. Non so più cosa pensare.
    La stessa cosa su altri server mi restituisca un perfetto backup

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    1) i dati di connessione sono gli stessi che usi di solito? (COMPRESO L'IP)
    2) perché continui a non testare l'esito dei comandi mysql come ti ho consigliato stamattina?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.