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

Запуск и завершение работы сервера 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, вам просто нужно добавить новую запись в user таблица в базе данных mysql.

Ниже приведен пример добавления нового пользователя. guest с привилегиями 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.

NOTE - 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.

  • SHOW DATABASES - Список баз данных, доступных СУБД MySQLi.

  • SHOW TABLES - Показывает таблицы в базе данных после выбора базы данных с помощью команды использования.

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

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

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