Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Import bazy danych (MySqlDump)
Xovin
post 24.05.2016, 12:18:14
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.05.2016

Ostrzeżenie: (0%)
-----


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`;


Ten post edytował Xovin 24.05.2016, 12:20:31
Go to the top of the page
+Quote Post
com
post 24.05.2016, 13:01:12
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Xovin
post 24.05.2016, 13:31:35
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.05.2016

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Xovin 24.05.2016, 13:32:08
Go to the top of the page
+Quote Post
com
post 24.05.2016, 13:40:24
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
LowiczakPL
post 24.05.2016, 20:08:30
Post #5





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Używasz polecenia system najpierw sprawdź czy to polecenie jest aktywne raczej to powinno być dezaktywowane bo to kwestia bezpieczeństwa serwera



--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
Pyton_000
post 25.05.2016, 12:41:22
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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

spacja nie jest wymagana smile.gif
Go to the top of the page
+Quote Post
com
post 25.05.2016, 13:49:09
Post #7





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Pyton_000
post 25.05.2016, 14:00:13
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Kod
php > $aa = 1;
php > echo "a$aa";
a1
Go to the top of the page
+Quote Post
Xovin
post 25.05.2016, 19:50:23
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 18.05.2016

Ostrzeżenie: (0%)
-----


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

Ten post edytował Xovin 25.05.2016, 19:51:51
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 19:56