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.