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 Twoja MySql jest uruchomiona, zobaczysz mysqldproces wymieniony w wyniku. Jeśli serwer nie działa, możesz go uruchomić za pomocą następującego polecenia -

root@host# cd /usr/bin
./safe_mysqld &

Teraz, jeśli chcesz zamknąć 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: ******

Konfiguracja konta użytkownika MySQL

Aby dodać nowego użytkownika do MySQL, wystarczy dodać nowy wpis do pliku user tabela w bazie danych mysql.

Poniższy program jest przykładem dodawania nowego użytkownika guest 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)

Dodając nowego użytkownika pamiętaj o zaszyfrowaniu nowego hasła za pomocą funkcji PASSWORD () dostarczanej przez MySQL. Jak widać w powyższym przykładzie, hasło moje jest zaszyfrowane do 6f8c114b58f2ce9e.

Zwróć uwagę na instrukcję FLUSH PRIVILEGES. To instruuje serwer, aby ponownie załadował tabele grantów. Jeśli go nie używasz, nie będziesz w stanie połączyć się z MySQL przy użyciu nowego konta użytkownika, przynajmniej do czasu ponownego uruchomienia serwera.

Możesz również określić inne uprawnienia dla nowego użytkownika, ustawiając wartości kolejnych kolumn w tabeli użytkowników na „Y” podczas wykonywania zapytania INSERT lub możesz je później zaktualizować za pomocą zapytania 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żytkownikazara z hasłem zara123 dla określonej bazy danych, która nosi nazwę 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 o nazwie as user.

NOTE - 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ć żadnego wpisu w tej tabeli.

Administracyjne polecenie MySQL

Oto lista ważnych poleceń MySQL, z których będziesz korzystać od czasu do czasu podczas pracy z bazą danych MySQL -

  • USE Databasename - Posłuży do wybrania bazy danych w obszarze roboczym MySQL.

  • SHOW DATABASES - Wyświetla listę baz danych, które są dostępne dla MySQL DBMS.

  • SHOW TABLES - Pokazuje tabele w bazie danych po wybraniu bazy danych za pomocą polecenia use.

  • SHOW COLUMNS FROM tablename: Pokazuje atrybuty, typy atrybutów, kluczowe informacje, czy wartość NULL jest dozwolona, ​​wartości domyślne i inne informacje dotyczące tabeli.

  • SHOW INDEX FROM tablename - Przedstawia szczegóły wszystkich indeksów w tabeli, w tym KLUCZ PODSTAWOWY.

  • SHOW TABLE STATUS LIKE tablename\G - Raportuje szczegóły wydajności i statystyk MySQL DBMS.

W następnym rozdziale omówimy sposób wykorzystania składni PHP w MySQL.