Я не являюсь пользователем root на моем сервере (Linux), и этот сервер в настоящее время не запускает сервер mysql в качестве демона.
Могу ли я запустить демон mysql, который будет работать только для моей учетной записи и где данные / файлы будут храниться где-то в моем $ {HOME} / ...? Как это сделать?
Спасибо, Пьер
Вам обязательно стоит попробовать Песочница MySQL :
Чтобы запустить простую службу MySQL в вашем $ HOME, вам просто нужно:
Вы получите полный сервер MySQL, работающий в выбранном вами каталоге.
Полная документация там.
Скорее всего, вы могли бы скомпилировать исходный код и настроить каталоги для установки в вашем доме. Затем вам нужно выбрать какой-либо порт выше 1024, так как по умолчанию обычные (не root) пользователи не могут открывать порты ниже 1024.
Чтобы настроить компиляцию в вашем каталоге:
./configure --prefix=/path/to/my/dir
make && make install
Я считаю, что вы можете указать свой файл my.cnf в своем домашнем каталоге.
/ путь / к / mysql / bin / mysqld_safe &
Мне не нужно было этого делать, но это должно сработать.
Как сказал Санни, использование обычных портов не будет для вас вариантом, но в противном случае он должен работать. Однако для пользователя без полномочий root почти всегда было бы лучше использовать продукт БД, такой как SQLite, который предназначен для использования таким образом.
Вы можете взять общие двоичные файлы tar.gz / tar.bz2 с сайта MySQL и установить по крайней мере следующие параметры либо с помощью my.cnf (который должен быть указан с помощью --defaults-file для mysqld), либо непосредственно в командной строке параметр при запуске mysqld:
--with-datadir - this configures where MySQL will store the database files
--socket - Where to put the unix domain socket file
в my.cnf вы также можете установить опцию прослушивания.
См. Документацию на http://dev.mysql.com/doc/refman/5.1/en/server-options.html для подробностей.