MySQLi - Administracja

Uruchamianie i zamykanie serwera MySQLi

MySQLi jest rozszerzeniem MySQL, więc 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 MySQLi

Aby dodać nowego użytkownika do MySQLi, która jest ulepszoną wersją MySQL, wystarczy dodać nowy wpis do user tabela w bazie danych mysql.

Poniżej przykład dodania 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 o nazwie 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 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 MySQLi

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

  • USE Databasename - Posłuży do wybrania określonej bazy danych w obszarze roboczym MySQLi.

  • SHOW DATABASES - Wyświetla listę baz danych, które są dostępne dla MySQLi 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 NULL jest dozwolone, 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 - Podaje szczegóły wydajności i statystyk MySQLi DBMS.