meta data for this page
  •  

To jest stara wersja strony!


MySQL

Backup bazy

Bezpośrednio z wiersza polecenia (bez logowania do bazy) wydajemy polecenie mysqldump jak poniżej:

  cd /home/backup
  mysqldump -uroot -phaslo nazwa_bazy > nazwa_pliku.sql

Backup określonych tabel wykonamy następująco (t1, t2, t3 - nazwy tabel):

  mysqldump -uroot -phaslo nazwa_bazy t1 t2 t3 > nazwa_pliku.sql

Przy dużej ilości danych w tabeli, może się przydać przełącznik where:

  mysqldump -uroot -phaslo nazwa_bazy nazwa_tabeli --where='id IN ("1", "2")' > nazwa_pliku.sql

Przywrócenie backupu

Przywrócenie z Basha:

mysql -u root -p db_name < db_dump.sql

Przywrócenie z poziomu MySQL:

mysql -u root -p # logujemy się
use db_name;
source db_backup.sql

Zarządzanie użytkownikami

Nadanie uprawnień dla nowego użytkownika.

GRANT SELECT, INSERT, UPDATE ON baza.tabela TO 'nazwa_użytkownika'@'localhost' IDENTIFIED BY 'hasło';

Zamiast localhost możemy podać konkretny adres IP lub % - jeśli chcemy umożliwić łączenie się z dowolnego adresu. Jeżeli chcesz zezwolić na łączenie się z innych adresów niż localhost, w pliku /etc/mysql/my.cnf.migrated zakomentuj linię z wpisem bing-address = 127.0.0.1. Poniższym poleceniem sprawdzisz, na jakich adresach nasłuchuje MySQL:

netstat -tupan | grep mysql

Wypisanie istniejących uprawnień.

SELECT host, user, password FROM mysql.user ORDER BY user, host;
SHOW GRANTS FOR 'nazwa_użytkownika'@'localhost';

Odebranie uprawnień

<code mysql> DROP USER 'nazwa_użytkownika'@'localhost'; </code mysql>