So fügen Sie Federated Engine nach der Installation von MySQL hinzu

7

Ich habe MySQL 5.5.18
und auf Show Motoren:

Motoren zeigen;
+ -------------------- + --------- + ------------------ -------------------------------------- + ------- ------- + ------ + ------------ +
| Motor | Unterstützung | Kommentar | Transaktionen | XA | Sicherungspunkte |
+ -------------------- + --------- + ------------------ -------------------------------------- + ------- ------- + ------ + ------------ +
| InnoDB | STANDARD | Unterstützt Transaktionen, Sperren auf Zeilenebene und Fremdschlüssel JA | JA | JA |
| PERFORMANCE_SCHEMA | JA | Leistungsschema | NEIN | NEIN | NEIN |
| MRG_MYISAM | JA | Sammlung identischer MyISAM-Tabellen NEIN | NEIN | NEIN |
| CSV | JA | CSV-Speicher-Engine | NEIN | NEIN | NEIN |
| MyISAM | JA | MyISAM-Speicher-Engine | NEIN | NEIN | NEIN |
| SPEICHER | JA | Hash-basiert, im Speicher gespeichert, nützlich für temporäre Tabellen NEIN | NEIN | NEIN |
+ -------------------- + --------- + ------------------ -------------------------------------- + ------- ------- + ------ + ------------ +

Wie Sie sehen, gehört der Verbundmotor nicht zur Liste. Ich muss es aktivieren! Gibt es eine Vorstellung davon, warum BLACKHOLE-, FEDERATED- und ARCHIVE-Engines in der Liste fehlen? und wie kann ich sie hinzufügen / aktivieren ?
BEARBEITEN
Ich habe Ubuntu 11.10 und MySQL von ppa installiert ... Ich habe Folgendes zu /etc/apt/sources.list hinzugefügt

deb http://ppa.launchpad.net/nathan-renniewaldock/ppa/ubuntu oneiric main
deb-src http://ppa.launchpad.net/nathan-renniewaldock/ppa/ubuntu oneiric main

Danke für Ihre Hilfe

Alaa
quelle
Wie haben Sie Ihren MySQL-Server installiert?
Abdul Manaf
Frage wurde bearbeitet
Alaa
Wie konnten Sie eine PPA mit 5.5 finden? Ich habe jetzt fast einen Tag gesucht
Dark Star1
Hwllo Dark, überprüfen Sie launchpad.net
Alaa
Achtung. Federated ist standardmäßig deaktiviert, da einige ungelöste Fehler vorliegen. Wieso brauchst du es?
Massimo

Antworten:

5

Ich habe es geschafft, eine Lösung zu finden ...
es gibt bereits ein Plugin, bei dem ich mich
/usr/lib/mysql/plugin/ha_federated.so
gerade bei mysql als root angemeldet habe und die folgende Abfrage ausgeführt habe. mysql>install plugin federated soname 'ha_federated.so';
Dann habe ich federated zu my.cnf hinzugefügt und mysql neu gestartet

Alaa
quelle
1
Gilt dies für MySQL, das von der Binärdistribution anstatt von der Quelle installiert wurde?
Uday
3

Wenn Standardinstallation / Binärinstallation

Meiner Meinung nach BLACKHOLE , ARCHIVE werden diese standardmäßig installiert und aktiviert, wenn Sie den MySQL-Server installieren.

aber das FEDERATEDist nicht standardmäßig aktiviert. Dafür gefällt das

Sie können es manuell aktivieren, indem Sie Ihre Datei my.cnf.edit my.cnf bearbeiten und im Abschnitt [mysqld] die folgende Zeile hinzufügen:

federated

Starten Sie nun den MySQL-Server neu.

Zum Hinzufügen Archivegehen Sie zum Link http://timanovsky.wordpress.com/2010/10/09/enabling-archive-storage-engine-in-ius-mysql-5-1/

Wenn Sie von der Quelle installiert haben, sollten Sie Folgendes tun:

Für Blackhole: Rufen Sie configure mit der --with-blackhole-storage-engineOption auf.

Für Archieve: Rufen Sie configure mit der --with-archive-storage-engineOption auf

Für Federated: Rufen Sie configure mit der --with-federated-storage-engineOption auf

Abdul Manaf
quelle
Abdul, wenn ich MySQL von kompilierten Binärdateien installiert habe, wie soll ich dann die Verbund-Engine aktivieren ... Ich denke, ich sollte von der Quelle neu installieren oder gibt es eine andere Option ...
Uday
Fügen Sie einfach eine Zeile in Ihrer my.cnf hinzu und starten Sie den Server neu.
Abdul Manaf
Manaf, ich habe es versäumt, noch ein Detail zu informieren. Als ich auf "SHOW ENGINES" drückte, sah ich "NO" für einen Verbundmotor, was bedeutet, dass die Binärdatei nicht mit der Unterstützung für diesen Motor kompiliert wurde. Wie man in diesem Szenario vorgeht ...
Uday
2

Ich weiß, dass die Post ein wenig alt ist, aber es scheint, dass viele Leute Probleme mit Verbundmotoren haben.

Wenn die MySQL-Binärdateien über yum installiert werden, verfügen Sie bereits über die HA-Plugins (High Availability). Sie müssen lediglich die Plugins in die MySQL-CLI laden.

Hier ist der grundlegende Prozess:

Starten Sie mysqld, falls es noch nicht gestartet ist. Stellen Sie sicher, dass sich 'federated' zu diesem Zeitpunkt NICHT in /etc/my.cnf befindet.

EX: Zu diesem Zeitpunkt sieht /etc/my.cnf bei einer Standard-YUM-Installation so aus ....

[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

Melden Sie sich mit root (oder einem anderen Konto mit ausreichenden Berechtigungen) bei der MySQL-CLI an.

Art: show engines;

Zu diesem Zeitpunkt sollte kein FEDERATED-Motor wie folgt angezeigt werden:

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)

Geben Sie Folgendes ein, um die Verbund-Engine zu aktivieren:

install plugin federated soname 'ha_federated.so'

JETZT, wenn Sie "Motoren zeigen", sehen Sie die FEDERATED Engine, aber ausgeschaltet ...

Es wird so aussehen:

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)

Sie können die Zeile 'federated' jetzt sicher wie folgt zur Datei /etc/my.cnf hinzufügen:

[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

Starten Sie mysqld neu (Service mysqld restart, etc ...)

Kehren Sie nach dem Neustart zur MySQL-CLI zurück.

Art show engines;

Sie sollten jetzt die FEDERATED Engine als verfügbar und mit SUPPORT als YES sehen.

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)

Und du bist fertig ... geh raus und erstelle Verbundtabellen ...

Viel Glück!

Mailen Sie mir bei Fragen ... gerne weiter.

William McCarthy
quelle
0

Auf ML mit MySQL 5.5 (aktuell) musste ich nur Folgendes tun:

  • Kopieren Sie eine der vorhandenen Dateien aus / usr / local / mysql / support-files / nach /etc/my.cnf
  • Fügen Sie 'federated' (ohne Anführungszeichen) zum Abschnitt [mysqld] hinzu (nicht zum Ende der Datei my.cnf).
  • Starten Sie MySQL neu

Dies kann auch für diejenigen nützlich sein, die eine automatisierte Methode zum Deklarieren von Tabellen wünschen: http://sylnsr.blogspot.com/2012/11/auto-constructing-ddl-for-mysql.html

MikeM
quelle
1
Könnten Sie offenlegen, was ML ist? Ich kann mich nicht entscheiden, ob es hier relevant ist oder nicht :)
Dezso
OS X Berglöwe. Ich glaube, dass dies relevant ist, da es viele Leute gibt, die MySQL unter OS X Mountain Lions verwenden. Bei der Suche nach "mysql on ml" => google.com/search?q=mysql+on+ml
MikeM