środa, 19 września 2018

MySQL – Administracja

MySQL – Administracja


Uruchamianie i zamykanie serwera MySQL


Najpierw sprawdź, czy serwer MySQL działa, czy nie. Możesz użyć następującego polecenia, aby to sprawdzić
ps -ef | grep mysqld
Jeśli twój MySql jest uruchomiony, zobaczysz proces mysqld wyszczególniony w twoim wyniku. Jeśli serwer nie działa, możesz go uruchomić, używając następującego polecenia 
root@host# cd /usr/bin
./safe_mysqld &
Teraz, jeśli chcesz wyłączyć już działający serwer MySQL, możesz to zrobić za pomocą następującego polecenia
root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

Konfigurowanie konta użytkownika MySQL

Aby dodać nowego użytkownika do MySQL, wystarczy dodać nowy wpis do tabeli użytkowników w bazie danych mysql.
Poniższy program jest przykładem dodawania nowego użytkownika guest (gość) z uprawnieniami SELECT, INSERT i UPDATE z hasłem guest123; zapytanie SQL to
root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user
          (host, user, password,
           select_priv, insert_priv, update_priv)
           VALUES ('localhost', 'guest',
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
|    host   |   user  |     password     |   
+-----------+---------+------------------+
| localhost |  guest  | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)
Podczas dodawania nowego użytkownika, pamiętaj o zaszyfrowaniu nowego hasła za pomocą funkcji PASSWORD () dostarczonej przez MySQL. Jak widać w powyższym przykładzie, hasło mypass jest zaszyfrowane do 6f8c114b58f2ce9e.
Zwróć uwagę na deklarację FLUSH PRIVILEGES. Dzięki temu serwer przeładuje tabele przyznania. Jeśli go nie użyjesz, nie będziesz mógł połączyć się z MySQL przy użyciu nowego konta użytkownika przynajmniej do czasu ponownego uruchomienia serwera.
Można również określić inne uprawnienia dla nowego użytkownika, ustawiając wartości następujących kolumn w tabeli użytkownika na "Y" podczas wykonywania zapytania INSERT lub można je później zaktualizować przy użyciu kwerendy UPDATE.
  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv
Innym sposobem dodania konta użytkownika jest użycie polecenia GRANT SQL. Poniższy przykład doda użytkownika zara z hasłem zara123 dla konkretnej bazy danych, która nazywa się TUTORIALS.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON TUTORIALS.*
    -> TO 'zara'@'localhost'
    -> IDENTIFIED BY 'zara123';
Spowoduje to również utworzenie wpisu w tabeli bazy danych MySQL zwanej jako user.
UWAGA - MySQL nie kończy polecenia, dopóki nie podasz średnika (;) na końcu polecenia SQL.

Konfiguracja pliku /etc/my.cnf

W większości przypadków nie należy dotykać tego pliku. Domyślnie będzie zawierać następujące wpisy 
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

[mysql.server]
user = mysql
basedir = /var/lib

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
Tutaj możesz określić inny katalog dla dziennika błędów, w przeciwnym razie nie powinieneś zmieniać żadnych wpisów w tej tabeli.

Administracyjne polecenie MySQL

Oto lista ważnych poleceń MySQL, które będziesz używać od czasu do czasu do pracy z bazą danych MySQL
·      USE Databasename − To będzie używane do wyboru bazy danych w MySQL.
·      SHOW DATABASES − Wyświetla listę baz danych dostępnych dla MySQL DBMS.
·      SHOW TABLES − Pokazuje tabele w bazie danych po wybraniu bazy danych za pomocą komendy use.
·      SHOW COLUMNS FROM tablename: Pokazuje atrybuty, typy atrybutów, kluczowe informacje, dozwolone są wartości NULL, wartości domyślne i inne informacje dotyczące tabeli.
·      SHOW INDEX FROM tablename − Przedstawia szczegóły wszystkich indeksów w tabeli, w tym PRIMARY KEY.
·      SHOW TABLE STATUS LIKE tablename\G − Raporty szczegółowe dotyczące wydajności i statystyk MySQL DBMS.
W następnym rozdziale omówimy sposób użycia składni PHP w MySQL.




Brak komentarzy:

Prześlij komentarz