Import dużych plików do bazy MySQL

W związku z przenosinami na nowy serwer, musiałem zaimportować stare bazy na nowego Linuksa. Dostałem archiwum *.zip, ważące ~200MB. Czyli wiadomo było, że plik będzie bardzo duży, tekst się bardzo dobrze kompresuję. Po rozpakowaniu plik do importu *.sql, ważył niecałe 3GB.
Można byłoby to zrobić na okrętkę przez phpMyAdmin, modyfikując maksymalny rozmiar uploadowanego pliku, ale po co? Są prostsze sposoby.
BTW, tak dużego pliku nie mogłem otworzyć w żadnym edytorze z GUI pod Windows. Dopiero vi, pod Linuksem to ruszył.
Import pliku do bazy danych :

mysql -u rootOrSth -p someDBName < /path/to/file.sql

i po płaczu 🙂

Jak zmienić maksymalną ilość połączeń z bazą MySQL?

Temat prosty, więc krótko i na temat. Często domyślna konfiguracja deamonów nie jest wystarczająca, jak np liczba maksymalnych połączeń do bazy MySQL. Jeśli masz błąd:

Too many connections ...

to wykonaj to; edytuj plik konfiguracyjny (możliwe, że : /etc/mysql/my.cnf). Odszukaj linijkę:

#max_connections = 100

Odkomentuj ją i wstaw po znaku równości odpowiednią wartość lub pozostaw 100.
Zresetuj deamona MySQL:

sudo /etc/init.d/mysql restart

Powinno działać.

Zdalny dostęp do MySQL

Prosty tip na dziś. Daemon MySQL domyślnie jest dostępny tylko z localhost. Dzieje się tak poprzez domyślną konfigurację tej bazy danych.
Natomiast jeśli chcemy połączyć się z zewnętrznej maszyny – wtedy pojawia się problem, który ma bardzo proste rozwiązanie.

Żeby baza danych MySQL była dostępna na zewnątrz, wystarczy zmienić jedną dyrektywę w pliku konfiguracyjnym.

/etc/mysql/my.cnf

chodzi o dyrektywę bind-address, która domyślnie ogranicza nas do localhost. Ustawiając tam 0.0.0.0 – będziemy mogli połączyć się z każdego adresu IP.