{"id":386,"date":"2011-11-29T08:00:59","date_gmt":"2011-11-29T13:00:59","guid":{"rendered":"http:\/\/www.latindevelopers.com\/ivancp\/?p=386"},"modified":"2011-11-23T16:03:03","modified_gmt":"2011-11-23T21:03:03","slug":"activar-federated-mysql","status":"publish","type":"post","link":"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/","title":{"rendered":"Activar el motor FEDERATED en MySQL"},"content":{"rendered":"<p><img data-attachment-id=\"249\" data-permalink=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/04\/show-table-status-mejorado\/logo-mysql-170x115\/\" data-orig-file=\"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/logo-mysql-170x115-e1302270861102.png\" data-orig-size=\"100,67\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Logo mysql\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/logo-mysql-170x115-e1302270861102.png\" data-large-file=\"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/logo-mysql-170x115-e1302270861102.png\" loading=\"lazy\" class=\"alignright size-full wp-image-249\" title=\"Logo mysql\" src=\"http:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/logo-mysql-170x115-e1302270861102.png\" alt=\"\" width=\"100\" height=\"67\" \/>El motor FEDERATED de MySQL, aunque no es muy vers\u00e1til, puede resultar \u00fatil, por ejemplo, para conectarnos directamente a una tabla en otro servidor MySQL sin necesidad de un intermediario, como un script PHP que copie\/verifique\/vea datos de otro servidor.<\/p>\n<p>El motor FEDERATED no esta habilitado por defecto en instalaciones est\u00e1ndares sobre Linux, no hay que compilar nada, solo agregarle el parametro <code>--federated<\/code> en el archivo <code>\/etc\/init\/mysql.conf<\/code>:<\/p>\n<pre lang=\"bash\">#Busquen esta linea en el archivo \/etc\/init\/mysql.conf\r\nexec \/usr\/sbin\/mysqld --federated<\/pre>\n<p>Luego de reiniciar el servicio mysql, ver\u00e1n los resultados:<\/p>\n<pre lang=\"bash\">ivancp@ubuntu$ sudo service mysql restart<\/pre>\n<p>&nbsp;<\/p>\n<p>Para ver que motores est\u00e1n disponibles ejecuten SHOW ENGINES en la linea de comando MySQL: <\/p>\n<pre lang=\"text\">mysql> show engines;\r\n+------------+---------+-----------+--------------+------+------------+\r\n| Engine     | Support | Comment   | Transactions | XA   | Savepoints |\r\n+------------+---------+-----------+--------------+------+------------+\r\n| InnoDB     | YES     | Supports t| YES          | YES  | YES        |\r\n| MRG_MYISAM | YES     | Collection| NO           | NO   | NO         |\r\n| BLACKHOLE  | YES     | \/dev\/null | NO           | NO   | NO         |\r\n| CSV        | YES     | CSV storag| NO           | NO   | NO         |\r\n| MEMORY     | YES     | Hash based| NO           | NO   | NO         |\r\n| FEDERATED  | YES     | Federated | NO           | MO   | NO         |\r\n| ARCHIVE    | YES     | Archive st| NO           | NO   | NO         |\r\n| MyISAM     | DEFAULT | Default en| NO           | NO   | NO         |\r\n+------------+---------+-----------+--------------+------+------------+\r\n8 rows in set (0.00 sec)<\/pre>\n<p>&nbsp;<\/p>\n<p>Para conectarnos a una tabla remota y consultar que datos contiene, tenemos que crear la tabla, debe ser muy similar a la tabla remota, pueden ayudarse con el comando SHOW CREATE TABLE para ahorrar tiempo y agregar el par\u00e1metro CONNECTION al final.<\/p>\n<pre lang=\"mysql\">-- Tabla con conexion a una base de datos remota\r\nCREATE TABLE tabla_remota\r\n(\r\n    id     INT NOT NULL AUTO_INCREMENT,\r\n    campo1  VARCHAR(32),\r\n    campo2  INT,\r\n    PRIMARY KEY  (id),\r\n    INDEX campo1 (campo1)\r\n)\r\nENGINE=FEDERATED\r\nDEFAULT CHARSET=utf8\r\nCONNECTION='mysql:\/\/usuario:contrase\u00f1a@1952.168.6.5\/base_datos\/tabla';<\/pre>\n<p>&nbsp;<\/p>\n<p>Recomendaciones:<\/p>\n<ul>\n<li>El \u00fanico problema es que la consulta puede demorar un poco mas de lo debido, as\u00ed es que traten de no hacer consultas cuyos resultados sean realmente grandes.<\/li>\n<li>Es una pena que aun no est\u00e9 disponible la posibilidad de conectarse a otros gestores de datos como PostgreSQL o SQL Server, eso s\u00ed que ser\u00eda \u00fatil.<\/li>\n<li>Deben crear un usuario sin contrase\u00f1a en la base de datos de destino, para evitar poner la contrase\u00f1a en la conexi\u00f3n, ya que es f\u00e1cil de averiguar (con SHOW CREATE TABLE).<\/li>\n<li>Las conexiones son permitidas incluso hacia servidores MySQL mas antiguos.<\/li>\n<li>Leer la documentaci\u00f3n para mas detalles:<br \/>\nhttp:\/\/dev.mysql.com\/doc\/refman\/5.1\/en\/federated-storage-engine.html\n<\/li>\n<li>Pueden ayudarse con un <a href=\"http:\/\/forge.mysql.com\/tools\/tool.php?id=54\" target=\"_blank\">Stored Procedure para crear estas tablas FEDERATED<\/a>.\n<\/li>\n<\/ul>\n<p>Espero les sirva.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Compartelo:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-386\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=facebook\" target=\"_blank\" title=\"Haz clic para compartir en Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-386\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=twitter\" target=\"_blank\" title=\"Haz clic para compartir en Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>M\u00e1s<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=email\" target=\"_blank\" title=\"Haz clic para enviar por correo electr\u00f3nico a un amigo\"><span>Correo electr\u00f3nico<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/\" target=\"_blank\" title=\"Haz clic para imprimir\"><span>Imprimir<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-386\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=linkedin\" target=\"_blank\" title=\"Haz clic para compartir en LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>El motor FEDERATED de MySQL, aunque no es muy vers\u00e1til, puede resultar \u00fatil, por ejemplo, para conectarnos directamente a una tabla en otro servidor MySQL sin necesidad de un intermediario, como un script PHP que copie\/verifique\/vea datos de otro servidor. &hellip; <a href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Compartelo:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-386\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=facebook\" target=\"_blank\" title=\"Haz clic para compartir en Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-386\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=twitter\" target=\"_blank\" title=\"Haz clic para compartir en Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>M\u00e1s<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=email\" target=\"_blank\" title=\"Haz clic para enviar por correo electr\u00f3nico a un amigo\"><span>Correo electr\u00f3nico<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/\" target=\"_blank\" title=\"Haz clic para imprimir\"><span>Imprimir<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-386\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/www.latindevelopers.com\/ivancp\/2011\/11\/activar-federated-mysql\/?share=linkedin\" target=\"_blank\" title=\"Haz clic para compartir en LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[7,22],"tags":[17,12,20],"jetpack_featured_media_url":"https:\/\/www.latindevelopers.com\/ivancp\/wp-content\/uploads\/logo-mysql-170x115-e1302270861102.png","jetpack_shortlink":"https:\/\/wp.me\/p1tEO5-6e","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts\/386"}],"collection":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/comments?post=386"}],"version-history":[{"count":13,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts\/386\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/posts\/386\/revisions\/463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/media?parent=386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/categories?post=386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.latindevelopers.com\/ivancp\/wp-json\/wp\/v2\/tags?post=386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}