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.