Ответ 1
Отредактируйте /etc/my.cnf
и в разделе [mysqld]
добавьте строку:
federated
Это эквивалентно указанию --federated
в командной строке
У меня 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, как я могу это сделать?
Отредактируйте /etc/my.cnf
и в разделе [mysqld]
добавьте строку:
federated
Это эквивалентно указанию --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
Войдите в mysql CLI с помощью root (или другой учетной записи с достаточной привилегией).
Type: show engines;
В этот момент вы не увидите FEDERATED engine, например:
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)
- > END PASTE < -
Чтобы включить механизм объединения, введите следующее:
install plugin federated soname 'ha_federated.so'
СЕЙЧАС, когда вы будете показывать двигатели, вы увидите FEDERATED Engine, но отключитесь...
Он будет выглядеть следующим образом:
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 - YES.
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)
И вы закончили... идите и создайте таблицы федерации...
Удачи!
Начиная с MySQL 5.0.64, ФЕДЕРАЛЬНЫЙ двигатель хранения не по умолчанию включен сервер; для включения FEDERATED, вы должны запустите двоичный код сервера MySQL, используя параметр
--federated
. — Документация MySQL
Чтобы использовать --federated
option в файле конфигурации, нажмите --
.
my.cnf
[mysqld]
federated