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.