Учебники

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

MySQLi расширен 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: ******

Настройка учетной записи MySQLi

Для добавления нового пользователя в MySQLi, который является улучшенной версией 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

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

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

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

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

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

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

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

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

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