Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Import bazy danych (MySqlDump)
Forum PHP.pl > Forum > PHP
Xovin
Dzień dobry, mam problem, z którym męczę się już kilka dni. Chciałbym zrobić import bazy danych do pliku, lecz niestety po wykonaniu niżej wymienionego polecenia, plik zamiast kopii pełnej bazy danych zawiera tylko nieużyteczne (przynajmniej dla mnie) informacje o niej.

  1. ini_set( 'display_errors', 'On' );
  2. error_reporting( E_ALL );
  3. var_dump($_POST);
  4.  
  5. require_once ("../../lib/config.php");
  6.  
  7. try
  8. {
  9. MYSQL_CONNECT($host, $user, $password) or die ( "<H3>Serwer bazy danych jest nieosiągalny</H3>");
  10. MYSQL_SELECT_DB($baza) or die ( "<H3>Baza danych jest niedostępna</H3>");
  11.  
  12. $path = "../../backups-sql";
  13. $result = MYSQL_QUERY("SHOW TABLES");
  14. $numrow = MYSQL_NUM_ROWS($result);
  15.  
  16. for($i = 0;$i < $numrow;$i++) {
  17. $table = MYSQL_RESULT($result,$i);
  18. echo "$table ... ";
  19. system(("mysqldump --all-databases -h$host -u$user -p$password > $path/wszystkie_bazy.sql"));
  20. }
  21.  
  22. }


Jeżeli chodzi o polecenie mysqldump to wydaje mi się, że próbowałem już niemalże wszystkiego. Zakładam, że problem leży po stronie mojej na chwilę obecną znikomej wiedzy w tym temacie. Czy mógłbym ktoś wskazać mi przyczynę problemu? Walczę już z tym 3 dni, byłym wdzięczny.

Oto zawartość stworzonego pliku:
  1. -- MySQL dump 10.13 Distrib 5.5.49, for debian-linux-gnu (i686)
  2. --
  3. -- Host: localhost Database:
  4. -- ------------------------------------------------------
  5. -- Server version 5.5.49-0+deb7u1
  6.  
  7. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  8. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  9. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  10. /*!40101 SET NAMES utf8 */;
  11. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  12. /*!40103 SET TIME_ZONE='+00:00' */;
  13. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  14. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  15. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  16. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  17.  
  18. --
  19. -- Current Database: `2k16_xovin`
  20. --
  21.  
  22. CREATE DATABASE /*!32312 IF NOT EXISTS*/ `2k16_xovin` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci */;
  23.  
  24. USE `2k16_xovin`;
com
to się nazywa eksport a nie import jak już tylko wystarczyła by przecież tylko ta linia system(("mysqldump --all-databases -h$host -u$user -p$password > $path/wszystkie_bazy.sql")); reszta itak nic nie robi
Xovin
Owszem, mój błąd. Aczkolwiek Twoje zwrócenie uwagi o detale pomogło mi tyle, co pomogłaby Tobie moja uwaga o brak znaków interpunkcyjnych (nic). Skrypt jak nie działał tak nie działa.
com
a próbowałeś zrobić to ręcznie w konsoli? może nie masz uprawnień. My jasnowidzami przecież nie jesteśmy

I daj no spacje miedzy -h i $host itd
LowiczakPL
Używasz polecenia system najpierw sprawdź czy to polecenie jest aktywne raczej to powinno być dezaktywowane bo to kwestia bezpieczeństwa serwera

Pyton_000
Cytat(com @ 24.05.2016, 14:40:24 ) *
I daj no spacje miedzy -h i $host itd

spacja nie jest wymagana smile.gif
com
Pyton_000 wiem, ale dawno takiego kodu nie pisałem i nie pamiętałem jak sie zachowa php jak ma przed zmienną jakieś znaki a nie rozpoczyna sie od tego smile.gif
Pyton_000
Kod
php > $aa = 1;
php > echo "a$aa";
a1
Xovin
Kod był poprawny. Po głębokiej analizie niemalże wszystkiego (wpisywanie w konsoli pomogło, dziękuję) okazało się, że błąd był po stronie uprawnień nadanych w phpmyadmin. Dokładnie chodziło o opcję 'lock tables'. Dziękuję wszystkim za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.