Указание каталога данных для конкретной базы данных в MySQL - PullRequest
2 голосов
/ 18 октября 2010

У меня есть база данных mysql с 4 разными базами данных. В одной из баз данных много операций чтения / записи, которые могут быть полезны при запуске на виртуальном диске. Из-за характера макета данных и типов необходимых операций чтения, memcached не является эффективным вариантом здесь. Поэтому я хотел бы запустить одну из баз данных на виртуальном диске (сохранение данных здесь не является проблемой).

Вопрос: есть ли способ установить каталог данных только для одной таблицы в базе данных mysql? Я хочу, чтобы 3 из баз данных имели каталог данных на моем жестком диске, а другая указывала на каталог в виртуальном диске. Если нет, то как я могу установить два экземпляра mysql на одном сервере (я использую Ubuntu).

Кстати: я знаю о механизме MEMORY, но он едва улучшает производительность (кажется, что он действительно не работает в памяти).

EDIT:

Я случайно попросил указать каталог данных для таблицы. На самом деле я хотел спросить, как указать каталог данных для 1 из 4 баз данных в установке MySQL. Сообщение было обновлено, чтобы отразить это исправление.

Ответы [ 2 ]

4 голосов
/ 18 октября 2010

Для таблиц MyISAM вы можете просто предоставить предложение DATA DIRECTORY & INDEX DIRECTORY в своем выражении CREATE TABLE (если вы разбиваете таблицу, вам придется установить ее для каждого раздела, как я полагаю)).

$ mkdir /tmp/datadir
$ sudo chown mysql:mysql /tmp/datadir/
$ mysql
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> create table otherlocation (id int) ENGINE=MyISAM, DATA DIRECTORY='/tmp/datadir', INDEX DIRECTORY='/tmp/datadir';

Query OK, 0 rows affected (0.01 sec)
mysql> Bye
$ ls -lah /tmp/datadir/
total 496K
drwxr-xr-x  2 mysql mysql 4.0K Oct 18 00:57 .
drwxrwxrwt 32 root  root  484K Oct 18 00:55 ..
-rw-rw----  1 mysql mysql    0 Oct 18 00:57 otherlocation.MYD
-rw-rw----  1 mysql mysql 1.0K Oct 18 00:57 otherlocation.MYI
1 голос
/ 18 октября 2010

Вы можете переместить файлы на виртуальный диск и создать символическую ссылку в их исходное местоположение.

...