PHP/Instalacja/MySQL 5: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
literówki
Nie podano opisu zmian
 
Linia 15:
Żeby przekonać się, czy serwer MySQL działa, należy spróbować się na niego zalogować.
Jako root:
<sourcesyntaxhighlight lang="bash">$ mysql -u root -p</sourcesyntaxhighlight>
Jeśli MySQL zapyta o hasło to znaczy, że działa.
Gdy zaś otrzymamy komunikat w stylu "cannot connect", musimy sprawdzić i poprawić/uzupełnić/dokończyć konfigurację:
 
Czy w katalogu /etc jest plik my.cnf? Jeśli go nie ma, należy skopiować w któryś z gotowych plików my-[small|medium|large|huge].cnf. Przykładowo dla prostej bazy danych na zwykłym domowym PC do ćwiczeń w zupełności wystarczy model small - nie zużyje wielkich połaci RAM-u.
<sourcesyntaxhighlight lang="bash"># cp /etc/my-small.cnf /etc/my.cnf</sourcesyntaxhighlight>
 
Teraz należy utworzyć grupę mysql i użytkownika mysql (niewykluczone, że już istnieje), nadać mu hasło i prawa do katalogów i programów związanych z MySQL.
<sourcesyntaxhighlight lang="bash"># useradd mysql
# passwd mysql
# groupadd mysql
# chown mysql:mysql /usr/bin/mysql*</sourcesyntaxhighlight>
 
Nieskonfigurowany MySQL daje nam możliwość łatwego wyboru miejsca, w którym będą przechowywane bazy. Można wybrać standardowe miejsce w /var/lib/mysql, ale byłoby dobrze nie przechowywać ważnych danych na partycji systemowej. Wielu użytkowników ma katalog /home domyślnie przez dystrybucję lub z własnego wyboru umieszczony na innej partycji lub nawet innym dysku. Warto wtedy utworzyć w /home katalog na bazy, który przeżyje każdą katastrofę łącznie z ponowną instalacją systemu. Obojętnie, które rozwiązanie wybierzesz, dalej będę się posługiwał nazwą /ścieżka/do/bazy.
<sourcesyntaxhighlight lang="bash"># mkdir /ścieżka/do/bazy (np. /home/mysql_bazy)
# chown -R mysql:mysql /sciezka/do/bazy</sourcesyntaxhighlight>
 
Następnie należy przygotować katalog roboczy MySQL-a. Należy to zrobić jako użytkownik mysql - inaczej będziemy mieli trudności z uruchomieniem i działaniem serwera, prawami dostępu etc.
<sourcesyntaxhighlight lang="bash"># su - mysql
$ mysql_install_db --datadir="/ścieżka/do/bazy"
$ exit (wyjście do roota)</sourcesyntaxhighlight>
 
Jeśli instalowaliśmy bazę w innym niż domyślny katalogu, należałoby uwzględnić tę zmianę w skrypcie startowym serwera. W tym celu otwieramy w dowolnym edytorze plik /etc/rc.d/rc.mysqld, odnajdujemy zapis mysqld_safe --datadir=/var/lib coś_tam_dalej i zmieniamy go na mysqld_safe --datadir=/ścieżka/do/bazy coś_tam_dalej. Serwer musi wiedzieć, z jakim katalogiem będzie pracował. W innych dystrybucjach (np. Debian) skrypty startowe umieszczane są w katalogu /etc/init.d/.
Przy okazji zajmiemy się automatycznym uruchamianiem serwera na przyszłość.
<sourcesyntaxhighlight lang="bash"># chmod 755 /etc/rc.d/rc.mysqld</sourcesyntaxhighlight>
 
Teraz już możemy uruchomić serwer:
Edytujemy plik /var/lib/mysql/mysqld.conf (w innych dystrybucjach np. /var/lib/mysql/mysqld.conf)i, jeśli baza będzie służyć tylko nam na naszym komputerze (a tak zakładamy w podręczniku), należy odkomentować (usunąć znak # z początku) linijkę, w której znajduje się zapis "skip-networking". W ten sposób odetniemy użytkownikom innych komputerów możliwość zdalnego logowania się do naszej bazy.
<sourcesyntaxhighlight lang="bash"># su -mysql
$ /etc/rc.d/./rc.mysqld start &</sourcesyntaxhighlight>
 
Serwer powinien się uruchomić.