Как я могу включить федеративный двигатель в MySQL после установки? - PullRequest
35 голосов
/ 06 марта 2011


У меня mysql 5.1.44

mysql> show engines;
+------------+---------+
| Engine     | Support | 
+------------+---------+
| ndbcluster | NO      | 
| MRG_MYISAM | YES     | 
| BLACKHOLE  | YES     | 
| CSV        | YES     | 
| MEMORY     | YES     | 
| FEDERATED  | NO      | 
| ARCHIVE    | YES     | 
| InnoDB     | YES     | 
| MyISAM     | DEFAULT |

Теперь мне нужно включить федеративный движок в MySQL, как я могу это сделать?

Ответы [ 3 ]

56 голосов
/ 06 марта 2011

edit /etc/my.cnf и в разделе [mysqld] добавьте строку:

federated

это эквивалентно указанию --federated в командной строке

33 голосов
/ 23 августа 2013

Я знаю, что пост немного устарел, но, похоже, у многих людей есть проблемы с движками объединения.

Когда двоичные файлы mysql установлены через yum, у вас уже есть плагины HA (High Availability). Вам просто нужно загрузить плагины в CLI mysql.

Вот основной процесс:

Запустите mysqld, если он еще не запущен. Убедитесь, что 'federated' НЕ находится в /etc/my.cnf на этом этапе.

EX: В это время /etc/my.cnf будет выглядеть так из стандартной установки YUM ....

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Войдите в CLI mysql с правами root (или другой учетной записью с достаточными правами).

Type:   show engines;

В этот момент вы не должны видеть FEDERATED движок, например:

mysql> show engines;
+------------+---------+------------------------------------------------------------+---    -----------+------+------------+
| Engine     | Support | Comment                                                    |  Transactions | XA   | Savepoints |
+------------+---------+------------------------------------------------------------+--- -----------+------+------------+
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO               | NO   | NO         |
| CSV        | YES     | CSV storage engine                                         | NO            | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO            | NO   | NO         |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)

-> КОНЕЧНАЯ ПАСТА <- </p>

Чтобы включить механизм объединения, введите следующее:

install plugin federated soname 'ha_federated.so'

СЕЙЧАС, когда вы «покажете двигатели», вы увидите ФЕДЕРАЛЬНЫЙ двигатель, но выключенный ...

Это будет выглядеть так:


    mysql> show engines;
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | FEDERATED  | NO      | Federated MySQL storage engine                             | NULL         | NULL | NULL       |
    | CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
   | MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    6 rows in set (0.00 sec)

Теперь вы можете безопасно добавить строку 'federated' в файл /etc/my.cnf следующим образом:


    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    federated

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

Перезапустить mysqld (перезапуск службы mysqld и т. Д.)

После перезапуска вернитесь в CLI mysql.

Type 'show engines;'

Теперь вы должны увидеть доступный FEDERATED Engine и с SUPPORT как ДА.


    mysql> show engines;
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | FEDERATED  | YES     | Federated MySQL storage engine                             | NO           | NO   | NO         |
    | CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |
    | MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |
    | InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
    | MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
    | MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    6 rows in set (0.00 sec)

И все готово ... иди и создавай федеративные таблицы ...

Удачи!

6 голосов
/ 06 марта 2011

Начиная с MySQL 5.0.64, механизм хранения FEDERATED по умолчанию не включен на работающем сервере;чтобы включить FEDERATED, вы должны запустить двоичный файл MySQL-сервера, используя опцию --federated.- Документация MySQL

Для использования опции --federated в файле конфигурации опустите --.

Пример

my.cnf

[mysqld]
federated
...