Я на 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
команда делает именно то, что вы ожидаете.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
.