Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Baza MySQL Windows --> Linux, Jak przenieść bazę danych z Windowsa na Linuxa
exit
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


Witam

Mam bazę danych w MySQL (5.0.27), w której mam tylko jedną tabelę. Baza ta jest pod Windowsem a chcę ją przenieść na Linuxa.
Tylko jak to zrobić.
W Windowsie baza składa się z dwóch plików z rozszeżeniami .opt oraz .frm, natomiast pod Linuxem są cztery pliki: .opt, .frm, .myd, .myi.

Zrobiłem tak, że przekopiowałem pliki .opt i .frm do Linuxa i prawie zadziałało, tzn: (baza nazywa się firmy a tabela dane)

Jak wydam polecenie:
  1. SHOW DATABASES;

to dostaję odpowiedź, że jest baza o nazwie firmy, czyli ok (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Jak wydam polecenie:
  1. SHOW TABLES;

to dostaję odpowiedź, że istnieje tabela o nazwie dane, czyli ok (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Jak wydam polecenie:
  1. SELECT * FROM dane;

to dostaję odpowiedź: ERROR 1146 (42SO2): Table 'firmy.dane' doesn't exist,
czyli jak rozumiem pisze mi tu, że nie ma tabeli o nazwie dane (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)

Więc dlaczego polecenie show tables pokazuje, że ta tabela jest (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Z góry dzięki za pomoc

Pozdrawiam

Ten post edytował exit 30.11.2006, 08:09:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mysz
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 26.08.2006
Skąd: Szczecin

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


Z shella:
mysqldump -u login -p -h host nazwa_bazy_danych > nazwa_bazy_danych.sql

w pliku .sql pojawi Ci się zrzut zawartości bazy danych. Teraz na drugim komputerze:
mysql -u login -p -h host nazwa_bazy_danych < nazwa_bazy_danych.sql

Spowoduje to wrzucenie wczesniejszego dumpa do nowej bazy.
Nie ma znaczenia czy to Windows, czy Linuks.
Go to the top of the page
+Quote Post
exit
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


Hmm

Nie wiem czy dobrze to robię ale:

1. Robię tak (wydaję polecenie w konsoli mysql)
mysql> mysqldump -u root -p 123456 -h localhost firmy >firmy.sql;

i dostaję komunikat, że mam błąd składni

2. Robię tak (normalnie w wierszu poleceń w Windowsie)
C:\ mysqldump -u root -p 123456 -h localhost firmy >firmy.sql

i dostaję komunikat odmowa dostępu

Co jest nie tak?
Go to the top of the page
+Quote Post
mysz
post
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 26.08.2006
Skąd: Szczecin

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


Nie z poziomu mysql, tylko z samego shella. Czyli tak jak drugą metodą.
Jeśli chcesz dać hasło w ten sposób, to pomiędzy '-p' a hasłem nie może być odstępu (czyli np -pMOJE_HASLO). Natomiast jeśli podasz samo -p (bez hasła) to mysql grzecznie zapyta... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
exit
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 15.12.2004

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


No i wszystko działa jak należy.

Bardzo wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A jakby ktoś miał podobny problem to podpowiem, że przed wykonaniem polecenia

mysqldump -u uzytkownik -p -h nazwa_hosta nazwa_bazy < nazwa_bazy.sql

w Linuxie, trzeba sobie najpierw ręcznie założyć taką bazę danych (pustą, bez żadnych tabel) resztę załatwia mysqldump jak to opisł #mysz

Pozdrawiam
Go to the top of the page
+Quote Post
jezoo
post
Post #6





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

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


mnie sie wydaje ze nie trzeba tworzyc bazy danych, tylko trzeba na poczatku dodac w pliku *.sql taka definicje:

  1. CREATE DATABASE `twoja_baza`;
  2. USE `twoja_baza`;
  3. DROP TABLE IF EXISTS `jakas_tabela`;

itd

Ten post edytował jezoo 30.11.2006, 14:49:49
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:41