Учебники

MySQL — Администрирование

Сначала проверьте, работает ваш сервер MySQL или нет. Вы можете использовать следующую команду, чтобы проверить это —

ps -ef | grep mysqld

Если ваш MySql запущен, вы увидите процесс mysqld, перечисленный в вашем результате. Если сервер не запущен, вы можете запустить его с помощью следующей команды —

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

Теперь, если вы хотите выключить уже работающий сервер MySQL, вы можете сделать это с помощью следующей команды:

root@host# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

Настройка учетной записи пользователя MySQL

Чтобы добавить нового пользователя в MySQL, вам просто нужно добавить новую запись в таблицу пользователей в базе данных mysql .

Следующая программа является примером добавления нового гостя пользователя с привилегиями SELECT, INSERT и UPDATE с паролем guest123; SQL-запрос —

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)

При добавлении нового пользователя не забудьте зашифровать новый пароль с помощью функции PASSWORD (), предоставляемой MySQL. Как видно из приведенного выше примера, пароль mypass зашифрован на 6f8c114b58f2ce9e.

Обратите внимание на утверждение FLUSH PRIVILEGES. Это говорит серверу перезагрузить таблицы предоставления. Если вы не используете его, то вы не сможете подключиться к MySQL, используя новую учетную запись пользователя, по крайней мере, до перезагрузки сервера.

Вы также можете указать другие привилегии для нового пользователя, установив значения следующих столбцов в пользовательской таблице на «Y» при выполнении запроса INSERT, или вы можете обновить их позже, используя запрос 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

Другой способ добавить учетную запись пользователя — использовать команду GRANT SQL. В следующем примере будет добавлен пользователь zara с паролем zara123 для конкретной базы данных, которая называется 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';

Это также создаст запись в таблице базы данных MySQL, которая называется user .

ПРИМЕЧАНИЕ. — MySQL не завершает команду, пока вы не введете точку с запятой (;) в конце команды SQL.

Конфигурация файла /etc/my.cnf

В большинстве случаев вам не следует трогать этот файл. По умолчанию он будет иметь следующие записи —

[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

Здесь вы можете указать другой каталог для журнала ошибок, в противном случае вам не следует изменять какие-либо записи в этой таблице.

Административная команда MySQL

Вот список важных команд MySQL, которые вы будете время от времени использовать для работы с базой данных MySQL —

  • USE Databasename — это будет использоваться для выбора базы данных в рабочей области MySQL.

  • ПОКАЗАТЬ БАЗЫ ДАННЫХ — перечисляет базы данных, которые доступны СУБД MySQL.

  • SHOW TABLES — Показывает таблицы в базе данных после выбора базы данных командой use.

  • SHOW COLUMNS FROM tablename: показывает атрибуты, типы атрибутов, ключевую информацию, разрешен ли NULL, значения по умолчанию и другую информацию для таблицы.

  • SHOW INDEX FROM tablename — представляет подробную информацию обо всех индексах таблицы, включая ПЕРВИЧНЫЙ КЛЮЧ.

  • SHOW TABLE STATUS LIKE tablename \ G — Сообщает подробную информацию о производительности и статистике СУБД MySQL.

USE Databasename — это будет использоваться для выбора базы данных в рабочей области MySQL.

ПОКАЗАТЬ БАЗЫ ДАННЫХ — перечисляет базы данных, которые доступны СУБД MySQL.

SHOW TABLES — Показывает таблицы в базе данных после выбора базы данных командой use.

SHOW COLUMNS FROM tablename: показывает атрибуты, типы атрибутов, ключевую информацию, разрешен ли NULL, значения по умолчанию и другую информацию для таблицы.

SHOW INDEX FROM tablename — представляет подробную информацию обо всех индексах таблицы, включая ПЕРВИЧНЫЙ КЛЮЧ.

SHOW TABLE STATUS LIKE tablename \ G — Сообщает подробную информацию о производительности и статистике СУБД MySQL.

В следующей главе мы обсудим, как синтаксис PHP используется в MySQL.