Назад | Перейти на главную страницу

Команда «chown mysql: mysql / data / tmp»

Я на Linux убунту машина с MySQL установлены.

Если есть MySQL установка на Ubuntu машина, я видел, как некоторые люди делали следующее:

sudo chown mysql:mysql /data/tmp

Я запутался, я знаю значение приведенной выше команды, которая заключается в изменении владельца /data/tmp пользователю 'mysql'и измените его группу на'mysqlгруппа.

Но (мои вопросы):

1. Зачем запускать указанную выше команду? Если я создам таблицу в my_db база данных, по умолчанию будет .frm, .MYD, и .MYI файлы (файлы данных) будут созданы автоматически по MySQL под /var/lib/mysql/my_db/ . Итак, изменяет ли приведенная выше команда каталог данных MySQL по умолчанию на /data/tmp/ вместо того /var/lib/mysql/my_db/?

В принципе, я хотел бы знать цель и эффект приведенной выше команды. (лучше с примерами)

2. Откуда берутся владелец и группа mysql? Создает ли установка MySQL на машине Linux автоматически пользователя и группу mysql? или Людям нужно вручную создать mysql учетная запись для машины linux?

Команда

  • Который chown команда делает именно то, что вы ожидаете.
  • В большинстве знакомых мне систем дерево каталогов по умолчанию является частью / var / lib / mysql /
  • Для chown команда, чтобы иметь смысл, кто-то должен иметь my.cnf который относится к / data / tmp, связанной системной переменной или флагу командной строки.

Учетная запись пользователя

В Ubuntu (которую вы отметили) MySQL обычно устанавливается apt-get. Пакет MySQL APT включает сценарий, который автоматически создает пользователя MySQL при установке программного обеспечения.

Домашний каталог mysql устанавливается в файле / etc / passwd:

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

если вы измените его на / data / tmp (или любой другой каталог), этот каталог станет домашней папкой для mysql.

кроме того, вы можете изменить datadir = в [mysqld] в конфигурационном файле mysql "my.cnf", в котором будут храниться фактические файлы данных.

[mysqld]
datadir=/var/lib/mysql

очевидно, что бы эти 2 ни указывали, пользователю mysql нужен доступ.

**

Причиной изменения домашнего каталога и / или каталогов данных, очевидно, было бы пространство. одна из «лучших практик» - держать каталог / var довольно маленьким на сервере * nix, однако базы данных sql имеют тенденцию разрастаться, проще всего переместить их в другой раздел.

Когда вы устанавливаете mysql из диспетчера пакетов, например apt-get, то mysql Пользователь будет автоматически создан, и разрешения и права собственности также должны быть установлены автоматически.

Когда запущенный процесс (например, mysql) создает файл, файл должен принадлежать тому же эффективному пользователю. mysql.