J'ai mysql 5.1.44
mysql> afficher les moteurs; + ------------ + --------- + | Moteur | Support | + ------------ + --------- + | ndbcluster | NON | | MRG_MYISAM | OUI | | BLACKHOLE | OUI | | CSV | OUI | | MÉMOIRE | OUI | | FÉDÉRÉ | NON | | ARCHIVE | OUI | | InnoDB | OUI | | MyISAM | PAR DÉFAUT |
maintenant, j'ai besoin d'activer le moteur fédéré dans mysql, comment puis-je le faire?
éditez /etc/my.cnf et dans la section [mysqld], ajoutez la ligne:
fédéré
cela revient à spécifier --federated sur la ligne de commande
Je sais que l'article est un peu ancien, mais il semble que beaucoup de gens ont des problèmes avec les moteurs fédérés.
Lorsque les binaires mysql sont installés via yum, vous disposez déjà des plugins HA (High Availability). Il vous suffit de charger les plugins dans la CLI mysql.
Voici le processus de base:
Démarrez mysqld s'il n'est pas déjà démarré. Assurez-vous que "fédéré" n'est PAS dans /etc/my.cnf à ce stade.
EX: À l'heure actuelle, /etc/my.cnf ressemblera à ceci à partir d'une installation YUM standard ....
[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
Connectez-vous à la CLI mysql avec root (ou un autre compte avec des privilèges suffisants).
Type: show engines;
Vous ne devriez voir aucun moteur FÉDÉRÉ à ce stade, comme ceci:
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 <-
Pour activer le moteur fédéré, tapez ce qui suit:
install plugin federated soname 'ha_federated.so'
MAINTENANT, lorsque vous "montrez les moteurs", vous verrez le moteur FEDERATED, mais éteint ...
Il ressemblera à ceci:
mysql> afficher les moteurs; + ------------ + --------- + ------ -------------------------------------------------- ---- + -------------- + ------ + ------------ + | Moteur | Support | Commentaire | Transactions | XA | Points de sauvegarde | + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + | FÉDÉRÉ | NON | Moteur de stockage fédéré MySQL | NULL | NULL | NULL | | CSV | OUI | Moteur de stockage CSV | NON | NON | NON | | MyISAM | DEFAULT | Moteur par défaut à partir de MySQL 3.23 avec d'excellentes performances | NON | NON | NON | | InnoDB | OUI | Prend en charge les transactions, le verrouillage au niveau des lignes et les clés étrangères | OUI | OUI | OUI | | MÉMOIRE | OUI | Basé sur le hachage, stocké en mémoire, utile pour les tables temporaires | NON | NON | NON | | MRG_MYISAM | OUI | Collection de tables MyISAM identiques | NON | NON | NON | + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + 6 lignes en jeu (0,00 sec)
Vous pouvez maintenant ajouter en toute sécurité la ligne 'fédérée' au fichier /etc/my.cnf comme ceci:
[mysqld] datadir =/var/lib/mysql socket =/var/lib/mysql/mysql.sock user = mysql # Il est recommandé de désactiver les liens symboliques pour éviter divers risques de sécurité symbolic-links = 0 fédéré [mysqld_safe] log-error =/var/log/mysqld.log pid-file =/var/run/mysqld/mysqld.pid
Redémarrez mysqld (service mysqld restart, etc ...)
Après le redémarrage, revenez à la CLI mysql.
Type 'show engines;'
Vous devriez maintenant voir le moteur FEDERATED disponible et avec SUPPORT comme OUI.
mysql> afficher les moteurs; + ------------ + --------- + ------ -------------------------------------------------- ---- + -------------- + ------ + ------------ + | Moteur | Support | Commentaire | Transactions | XA | Points de sauvegarde | + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + | FÉDÉRÉ | OUI | Moteur de stockage fédéré MySQL | NON | NON | NON | | CSV | OUI | Moteur de stockage CSV | NON | NON | NON | | MyISAM | DEFAULT | Moteur par défaut à partir de MySQL 3.23 avec d'excellentes performances | NON | NON | NON | | InnoDB | OUI | Prend en charge les transactions, le verrouillage au niveau des lignes et les clés étrangères | OUI | OUI | OUI | | MÉMOIRE | OUI | Basé sur le hachage, stocké en mémoire, utile pour les tables temporaires | NON | NON | NON | | MRG_MYISAM | OUI | Collection de tables MyISAM identiques | NON | NON | NON | + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + 6 lignes en jeu (0,00 sec)
Et vous avez terminé ... allez de l'avant et créez des tables fédérées ...
Bonne chance!
Depuis MySQL 5.0.64, le moteur de stockage FEDERATED n'est pas activé par défaut sur le serveur en cours d'exécution; pour activer FEDERATED, vous devez démarrer le binaire du serveur MySQL en utilisant le
--federated
option. - Documentation MySQL
Pour utiliser le --federated
option dans un fichier de configuration, déposez le --
.
my.cnf
[mysqld]
federated