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


У меня mysql 5.1.44

mysql> шоу двигателей;
+------------+---------+
| Двигатель | Поддержка | 
+------------+---------+
| ndbcluster | НЕТ | 
| MRG_MYISAM | ДА | 
| Черная дыра | ДА | 
| CSV        | ДА | 
| ПАМЯТЬ | ДА | 
| ФЕДЕРАЦИЯ | НЕТ | 
| АРХИВ | ДА | 
| InnoDB     | ДА | 
| MyISAM | ПО УМОЛЧАНИЮ |

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

3 ответа

Решение

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

федеративный

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

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

Когда исполняемые файлы 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)

-> КОНЕЦ ПАСТЫ <-

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

install plugin federated soname 'ha_federated.so'

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

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

    mysql> шоу двигателей;
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    | Двигатель | Поддержка | Комментарий | Транзакции | XA   | Точки сохранения |
    + ------------ + --------- + -------------------------- ---------------------------------- + -------------- + ------ + ------------ +
    | ФЕДЕРАЦИЯ | НЕТ | Объединенный механизм хранения MySQL | NULL         | NULL | NULL       |
    | CSV        | ДА | CSV хранилище данных | НЕТ | НЕТ | НЕТ |
    | MyISAM     | ПО УМОЛЧАНИЮ | Движок по умолчанию с MySQL 3.23 с отличной производительностью | НЕТ | НЕТ | НЕТ |
    | InnoDB     | ДА | Поддерживает транзакции, блокировку на уровне строк и внешние ключи | ДА | ДА | ДА |
    | ПАМЯТЬ | ДА | На основе хэша, хранится в памяти, полезно для временных таблиц | НЕТ | НЕТ | НЕТ |
   | MRG_MYISAM | ДА | Коллекция идентичных таблиц MyISAM | НЕТ | НЕТ | НЕТ |
    +------------+---------+------------------------------------------------------------+--------------+------+------------+
    6 рядов в наборе (0,00 сек)

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

    [ТуздЫ]
    каталогу_данных =/ вар / Библиотека / MySQL
    сокет =/ вар / Библиотека / MySQL /mysql.sock
    пользователь = MySQL
    # Отключение символических ссылок рекомендуется для предотвращения различных угроз безопасности
    символические ссылки =0
    федеративный

    [Mysqld_safe]
    срубы ошибка =/ вар / Журнал /mysqld.log
    PID-файл =/ вар / запустить / туздЫ /mysqld.pid

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

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

Type 'show engines;'

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

    mysql> шоу двигателей; + ------------ + --------- + -------------------------- ---------------------------------- + -------------- + ------ + ------------ + | Двигатель | Поддержка | Комментарий | Транзакции | XA   | Точки сохранения | + ------------ + --------- + -------------------------- ---------------------------------- + -------------- + ------ + ------------ + | ФЕДЕРАЦИЯ | ДА | Объединенный механизм хранения MySQL | НЕТ | НЕТ | НЕТ | | CSV | ДА | CSV хранилище данных | НЕТ | НЕТ | НЕТ | | MyISAM | ПО УМОЛЧАНИЮ | Движок по умолчанию с MySQL 3.23 с отличной производительностью | НЕТ | НЕТ | НЕТ | | InnoDB | ДА | Поддерживает транзакции, блокировку на уровне строк и внешние ключи | ДА | ДА | ДА | | ПАМЯТЬ | ДА | На основе хэша, хранится в памяти, полезно для временных таблиц | НЕТ | НЕТ | НЕТ | | MRG_MYISAM | ДА | Коллекция идентичных таблиц MyISAM | НЕТ | НЕТ | НЕТ | + ------------ + --------- + -------------------------- ---------------------------------- + -------------- + ------ + ------------ + 6 строк в наборе (0,00 сек)

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

Удачи!

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

Чтобы использовать --federated Опция в файле конфигурации опустите --,

пример

my.cnf

[mysqld]
federated

Я пробовал Foward Engineer в Workbench, и эта ошибка появилась мне, поэтому моим решением было Workbench -> Load your Model -> Mysql Model -> щелкните в таблице, которая показывала ошибку, и нажмите Edit, после этого просто измените Двигатель для InnoDB.

MYSQL 8

Другие вопросы по тегам