![]() |
![]() |
![]()
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:
to dostaję odpowiedź, że jest baza o nazwie firmy, czyli ok (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Jak wydam polecenie:
to dostaję odpowiedź, że istnieje tabela o nazwie dane, czyli ok (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Jak wydam polecenie:
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 |
|
|
![]() |
![]()
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. |
|
|
![]()
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? |
|
|
![]()
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) |
|
|
![]()
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 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 4.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:41 |