home.social

#resoluciondeproblemas — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #resoluciondeproblemas, aggregated by home.social.

  1. 0 (0)

    El tutorial de hoy es sencillo y se puede realizar con unos cuantos comandos. Claro, si estas usando una GUI para MySQL no lo necesitarás, pero bueh, es otra cosa que es bueno aprender

    Introducción

    Esta es una tarea súper puntual que surgió por la necesidad de reparar una tabla que no conozco, pero que el script de respaldo avisa que tiene un error.

    mariadb-dump: Error 1034: Index for table 'apcontact' is corrupt; try to repair it when dumping table `apcontact` at row: 115191

    Como me lo tomé a la ligera, busqué en google para saber que hace esta tabla. Después de todo, los problemas con tablas y plugins son tan comunes que puedes buscar por el nombre de la tabla y google siempre tiene una respuesta, pero esta vez, el nombre es tan genérico que simplemente no hubo resultado.

    Solucion

    En realidad es muy sencillo, pero lo citaré desde donde encontré la solución que es una pagina de una empresa que ofrece servicios para bases de datos.

    1234567
    select table_schema as database_name,    table_namefrom information_schema.tableswhere table_type = 'BASE TABLE'    and table_schema not in ('information_schema','mysql',                             'performance_schema','sys')order by database_name, table_name;

    La consulta, que se realiza como administrador desde la consola o tu GUI preferida, es bastante sencilla. Busca de la tabla table_schema, a la cual le pone un alias database_name y de la tabla table_name desde la base de datos information_schema, la cual contiene la estructura del sistema de base de datos de MySQL.

    Busca en la columna table_type cualquier fila que contenga el texto BASE TABLE y de la columna table_schema ignora ‘information_schema‘,’mysql‘, ‘performance_schema‘,’sys‘ terminando con ordenar por la columna database_name.

    Esta consulta devuelve la lista de columnas que tienen todas las bases de datos en el servidor MySQL, con lo que rápidamente puedes echarle un ojo a la columna desconocida para saber a que base de datos corresponde. En mi caso, es una columna de una base de datos que ya no utilizo, pero que conservaré para la siguiente parte del tutorial.

    Extra: Reparar tabla apcontact

    Ya teniendo localizada la tabla, de inmediato cambio a la base de datos que la contiene con USE nombre_base;y procedemos a seguir los pasos como ya hicimos en el articulo tabla wpcomment corrupted

    Resolución de problemas: Reparar Tabla wp_comment corrupted

    • Ejecuta el cliente mysql (o mariadb). mysql -u your_wordpress_user -p
    • Cambia a la base de datos de tu instancia de wordpress. use your_wordpress_database
    • Ejecuta el comando repair table wp_comments

    Por supuesto, puede darse el caso de que te salga un error como este:

    12345
    +---------------------------+--------+----------+---------------------------------------------------------+| Table                     | Op     | Msg_type | Msg_text                                                |+---------------------------+--------+----------+---------------------------------------------------------+| db_interlan.apcontact     | repair | note     | The storage engine for the table doesn't support repair |+---------------------------+--------+----------+---------------------------------------------------------+

    Debido a que esto es un cambio estructural, te recomiendo hacer un respaldo antes de cualquier cambio que vayas a hacer.

    Encontré que la mayor parte de las soluciones implican restaurar desde un respaldo. Estoy de acuerdo con eso, pero vamos a experimentar a ver que pasa. Vamos a suicidar mi base de datos a ver si conseguimos que funcione, pero puedes revisar las fuentes de mi articulo para que tengas una vista mas lucida que la mía.

    1
    ALTER TABLE tbl_name ENGINE=MyISAM;

    Por supuesto, dio error.

    ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

    La razón de esto es porque el comando ALTER TABLE dispara los trigger de update y hay filas que estarán relacionadas con otras tablas, asi que esto puede causar errores de constraint. Por esta razón se suele sugerir que se restaure desde un respaldo.

    Ahora como tampoco me preocupa el contenido de esa base de datos, elegiremos la opción nuclear.

    1
    SET Database_name = 'yourdb'; SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=MyISAM;') As sql_statements FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'yourdb' AND ENGINE='InnoDB' AND TABLE_TYPE='BASE TABLE';

    Lo que hace esto es simplemente alterar el engine de almacenamiento de toda la base de datos, con lo que no le darás tiempo a dar un contrain error, resolviendo el problema de no poder repararla. Pero ah, todavía queda reparar la tabla rota, así que intentamos de nuevo con el comando repair.

    12345
    +---------------------------+--------+----------+---------------------------------------------------------+| Table                     | Op     | Msg_type | Msg_text                                                |+---------------------------+--------+----------+---------------------------------------------------------+| db_interlan.apcontact     | repair | note     | The storage engine for the table doesn't support repair |+---------------------------+--------+----------+---------------------------------------------------------+

    Nah, no se pudo. Mandale un respaldo desde un dump anterior jajaja.

    Yo solo eliminaré la base de datos. Mi consejo será el mismo de siempre. Manten respaldos regulares y siempre mira los logs por si hay algún error por ahi que quiera agarrarte por sorpresa.

    1
    DROP DATABASE db_interlan;

    Conclusiones

    Las tablas corruptas se dan frecuentemente por fallos en la energía, el clasico «Sacrifiquen a los niños» y muchas razones. Reparar no es una opción muy viable, teniendo en cuenta la alta probabilidad de que no funcione. Puedes intentarlo, pero como te diste cuenta, tal vez salga mejor que restaures desde un respaldo. He hecho un script que sirve para hacerlos y de paso me manda un correo electrónico indicándome los resultados, con lo que pude ver el error. Si trabajas en esto de forma seria, no intentes reparar. sin duda alguna restaura desde un respaldo y mantelos regularmente. Si no, juega como yo y mira que sale si intentas reparar XD.

    ¿De cuánta utilidad te ha parecido este contenido?

    ¡Haz clic en una estrella para puntuarlo!

    Enviar la puntuación

    Promedio de puntuación 0 / 5. Recuento de votos: 0

    Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

    ¡Siento que este contenido no te haya sido útil!

    ¡Déjame mejorar este contenido!

    Dime, ¿cómo puedo mejorar este contenido?

    Enviar la sugerencia

    https://interlan.ec/2025/11/07/tutorial-buscar-columna-en-todas-las-bases-de-datos/

    #devops #mysql #resolucionDeProblemas #selfhosting #servidores #solucionDeProblemas #vps

  2. 0 (0)

    El tutorial de hoy es sencillo y se puede realizar con unos cuantos comandos. Claro, si estas usando una GUI para MySQL no lo necesitarás, pero bueh, es otra cosa que es bueno aprender

    Introducción

    Esta es una tarea súper puntual que surgió por la necesidad de reparar una tabla que no conozco, pero que el script de respaldo avisa que tiene un error.

    mariadb-dump: Error 1034: Index for table 'apcontact' is corrupt; try to repair it when dumping table `apcontact` at row: 115191

    Como me lo tomé a la ligera, busqué en google para saber que hace esta tabla. Después de todo, los problemas con tablas y plugins son tan comunes que puedes buscar por el nombre de la tabla y google siempre tiene una respuesta, pero esta vez, el nombre es tan genérico que simplemente no hubo resultado.

    Solucion

    En realidad es muy sencillo, pero lo citaré desde donde encontré la solución que es una pagina de una empresa que ofrece servicios para bases de datos.

    1234567
    select table_schema as database_name,    table_namefrom information_schema.tableswhere table_type = 'BASE TABLE'    and table_schema not in ('information_schema','mysql',                             'performance_schema','sys')order by database_name, table_name;

    La consulta, que se realiza como administrador desde la consola o tu GUI preferida, es bastante sencilla. Busca de la tabla table_schema, a la cual le pone un alias database_name y de la tabla table_name desde la base de datos information_schema, la cual contiene la estructura del sistema de base de datos de MySQL.

    Busca en la columna table_type cualquier fila que contenga el texto BASE TABLE y de la columna table_schema ignora ‘information_schema‘,’mysql‘, ‘performance_schema‘,’sys‘ terminando con ordenar por la columna database_name.

    Esta consulta devuelve la lista de columnas que tienen todas las bases de datos en el servidor MySQL, con lo que rápidamente puedes echarle un ojo a la columna desconocida para saber a que base de datos corresponde. En mi caso, es una columna de una base de datos que ya no utilizo, pero que conservaré para la siguiente parte del tutorial.

    Extra: Reparar tabla apcontact

    Ya teniendo localizada la tabla, de inmediato cambio a la base de datos que la contiene con USE nombre_base;y procedemos a seguir los pasos como ya hicimos en el articulo tabla wpcomment corrupted

    Resolución de problemas: Reparar Tabla wp_comment corrupted

    • Ejecuta el cliente mysql (o mariadb). mysql -u your_wordpress_user -p
    • Cambia a la base de datos de tu instancia de wordpress. use your_wordpress_database
    • Ejecuta el comando repair table wp_comments

    Por supuesto, puede darse el caso de que te salga un error como este:

    12345
    +---------------------------+--------+----------+---------------------------------------------------------+| Table                     | Op     | Msg_type | Msg_text                                                |+---------------------------+--------+----------+---------------------------------------------------------+| db_interlan.apcontact     | repair | note     | The storage engine for the table doesn't support repair |+---------------------------+--------+----------+---------------------------------------------------------+

    Debido a que esto es un cambio estructural, te recomiendo hacer un respaldo antes de cualquier cambio que vayas a hacer.

    Encontré que la mayor parte de las soluciones implican restaurar desde un respaldo. Estoy de acuerdo con eso, pero vamos a experimentar a ver que pasa. Vamos a suicidar mi base de datos a ver si conseguimos que funcione, pero puedes revisar las fuentes de mi articulo para que tengas una vista mas lucida que la mía.

    1
    ALTER TABLE tbl_name ENGINE=MyISAM;

    Por supuesto, dio error.

    ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

    La razón de esto es porque el comando ALTER TABLE dispara los trigger de update y hay filas que estarán relacionadas con otras tablas, asi que esto puede causar errores de constraint. Por esta razón se suele sugerir que se restaure desde un respaldo.

    Ahora como tampoco me preocupa el contenido de esa base de datos, elegiremos la opción nuclear.

    1
    SET Database_name = 'yourdb'; SELECT CONCAT('ALTER TABLE ',TABLE_NAME,' ENGINE=MyISAM;') As sql_statements FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'yourdb' AND ENGINE='InnoDB' AND TABLE_TYPE='BASE TABLE';

    Lo que hace esto es simplemente alterar el engine de almacenamiento de toda la base de datos, con lo que no le darás tiempo a dar un contrain error, resolviendo el problema de no poder repararla. Pero ah, todavía queda reparar la tabla rota, así que intentamos de nuevo con el comando repair.

    12345
    +---------------------------+--------+----------+---------------------------------------------------------+| Table                     | Op     | Msg_type | Msg_text                                                |+---------------------------+--------+----------+---------------------------------------------------------+| db_interlan.apcontact     | repair | note     | The storage engine for the table doesn't support repair |+---------------------------+--------+----------+---------------------------------------------------------+

    Nah, no se pudo. Mandale un respaldo desde un dump anterior jajaja.

    Yo solo eliminaré la base de datos. Mi consejo será el mismo de siempre. Manten respaldos regulares y siempre mira los logs por si hay algún error por ahi que quiera agarrarte por sorpresa.

    1
    DROP DATABASE db_interlan;

    Conclusiones

    Las tablas corruptas se dan frecuentemente por fallos en la energía, el clasico «Sacrifiquen a los niños» y muchas razones. Reparar no es una opción muy viable, teniendo en cuenta la alta probabilidad de que no funcione. Puedes intentarlo, pero como te diste cuenta, tal vez salga mejor que restaures desde un respaldo. He hecho un script que sirve para hacerlos y de paso me manda un correo electrónico indicándome los resultados, con lo que pude ver el error. Si trabajas en esto de forma seria, no intentes reparar. sin duda alguna restaura desde un respaldo y mantelos regularmente. Si no, juega como yo y mira que sale si intentas reparar XD.

    ¿De cuánta utilidad te ha parecido este contenido?

    ¡Haz clic en una estrella para puntuarlo!

    Enviar la puntuación

    Promedio de puntuación 0 / 5. Recuento de votos: 0

    Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

    ¡Siento que este contenido no te haya sido útil!

    ¡Déjame mejorar este contenido!

    Dime, ¿cómo puedo mejorar este contenido?

    Enviar la sugerencia

    https://interlan.ec/2025/11/07/tutorial-buscar-columna-en-todas-las-bases-de-datos/

    #devops #mysql #resolucionDeProblemas #selfhosting #servidores #solucionDeProblemas #vps

  3. 0 (0)

    El coloreado de sintaxis de código en WordPress parece una cosa intuitiva, pero no es cierto. Si quieres compartir código, hay varias formas de hacerlo, pero de forma nativa, solo tienes las etiquetas <pre></pre> y <code></code> que cambian de acuerdo a las configuraciones de tu plantilla, pero definitivamente no colorean el código.

    Introducción

    La verdad, tampoco es que sea tan necesario. Para compartir fragmentos de código, existen herramientas como pastebin y otras, mientras que para compartir proyectos de programación completos puedes usar GitHub, Codeberg y otros por el estilo. La cosa es que si quieres compartir solo unas cuantas lineas en un tutorial, consejo o sugerencia, pues vendria bien algo de ayuda.

    Se me hace muy curioso como funciona esto. La mayoría de los renderizadores de MarkDown ya cuentan con coloreado de código. Esto es una función que se puede ver hasta en plataformas de chat, como Telegram, Matrix, Discord. Creo que whatsapp no tiene eso y por ahora, Delta Chat tampoco lo tiene.

    Por ejemplo:

    ```js
    console.log('Hello world!');

    ```

    En WordPress, no hay un interprete MarkDown nativo y el que agrega jetpack se me hace muy confuso de usar. En mi post sobre el juego de la vida que escribí por completo en MarkDown, se hizo tan lioso que no lo he corregido como corresponde.

    Resaltado de código en WordPress

    La mayoría de los generadores de blog estáticos que usan Markdown para la generación de contenidos, ya tienen un resaltador de código integrado. Tomo por ejemplo a Astro, una herramienta que llevo rato buscando una excusa para aprender. En la documentacion ya indica que tiene soporte mediante prism.js, por lo que podríamos decir que el renderizado se realiza desde el frontend. Esto es lo optimo y lo ideal teniendo en cuenta de que es un sistema frontend, pero WordPress es principalmente backend, por lo que lo obvio y necesario seria que se pueda usar un sistema que sirva el resultado ya procesado. Mientras mas plugins y javascript, mas pesado se pone el sitio y para la capacidad de atención que tiene la gente en esta generación, es un riesgo innecesario para correr. Es interesante notar que no es un problema que me afecte solo a mi, pues, en el 2024, el blog Picando Codigo compartía sus experiencias en este tema, mientras que backendpreneur en quien sabe que fecha(no comparte la fecha de publicación de sus posts), hacia lo propio por su parte.

    Herramientas que se quedan obsoletas

    Por mucho tiempo, yo usaba Highlighting Code Block para resaltado de mi código, pero hace unos días noté que ya no funcionaba. Pensé que era porque estaba usando el editor clásico, puesto que el editor de bloques tiene muchas mas opciones de configuración, pero parece que no es el caso. El plugin lleva sin atención desde hace 2 años. No es demasiado problema, pero posiblemente este fallando de forma interna, puesto que no solo esta desactualizado con respecto a mi versión de WordPress, sino que también lo esta con respecto a mi version de PHP.

    Highlighting Code Block

     

    Entonces, la solución mas rápida seria, instalar otro plugin. Pero para no romper el resto de los post ya publicados con el anterior, no puedo desinstalarlo…

    WordPress y en realidad cualquier plataforma longeva, tiene el problema de que puede crecer pero no arrastrar su ecosistema consigo. En el repo de plugins de WordPress hay una cantidad inmensa de muertos, y cada uno representa un agujero de seguridad importante, por lo que es necesario tener todo actualizado para no ser victima de ataques por vulnerabilidades.

    Soluciones

    La verdad, parece que las que hay, no son muy satisfactorias. Como comenta el editor de Picando Código aun si encuentra una solución, le toca editar todos los post donde se haya usado el plugin. En mi caso, así mismo va a ser, tendré que buscar todos los post donde use hcb y reemplazar por mi solución particular. 

    Por ahora, las propuestas son:

    • Utilizar otro plugin (no me gusta, si muere, se repite el proceso)
    • Utilizar algo de JS con highlight.js prism.js o similares (no me gusta, aumento de peso de la pagina)
    • Utilizar HTML directo (la mejor opción en resultado, pero no en practicidad)

    Al final, es verdad, soy dev, puedo usar esta opción. Escribir el resaltado de forma directa, pero es mucho esfuerzo, así que por ahora, elijo utilizar una herramienta que encontré para resaltado por HTML llamada hilite.me y luego veré como ajustar para que sea mas fácil de usar.

    La ventaja de esto es que permitirá tener resultados uniformes sin importar de cuanto cambie la infraestructura, aunque no estoy muy seguro de la compatibilidad con los temas del sitio.

    1
    print('hello world!')

    Actualización

    La verdad, creo que me ahorrare el esfuerzo de buscar que cosas han sido afectadas por el borrado del plugin, porque hasta donde vi, se ve bastante decente. Creo que solo agregare las nuevas ideas a post en adelante.

    ¿De cuánta utilidad te ha parecido este contenido?

    ¡Haz clic en una estrella para puntuarlo!

    Enviar la puntuación

    Promedio de puntuación 0 / 5. Recuento de votos: 0

    Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

    ¡Siento que este contenido no te haya sido útil!

    ¡Déjame mejorar este contenido!

    Dime, ¿cómo puedo mejorar este contenido?

    Enviar la sugerencia

    https://interlan.ec/2025/10/24/articulo-resaltado-de-sintaxis-de-codigo-en-wordpress/

    #articulo #Blog #desarrolloWeb #DIY #javascript #plugins #programacion #recursos #resolucionDeProblemas #seguridad #solucionDeProblemas #wordpress

  4. Este es de los problemas que te encontrarías solo por hacer las cosas de forma manual, no tendrás que prestarle mucha atención con un sistema completo como Mailú, del que ya hablé alguna vez.

    Introducción

    Bueno, si te interesa este tema, es probable que contarte sobre los correos, su historia y sus usos te resulte repetitivo, así que me centraré en este problema. Hay muchísimas políticas destinadas para el control de Spam y phishing, así que administrar un servidor de correo electrónico se ha vuelto monstruosamente complicado. DKIM, SPF y otras cosas de las que hemos hablado, son medidas de seguridad para autenticar el origen de los correos, debido a que la naturaleza federada de estos, permite que cualquier persona pueda desplegar uno propio sin limitaciones y por supuesto, enviar masivas cantidades de correos.

    Los problemas

    1234
    Oct 17 09:21:40 debian postfix/smtpd[1643]: NOQUEUE: reject: RCPT fromunknown[x.x.x.x]: 553 5.7.1 <[email protected]>: Sender address rejected:not owned by user [email protected]; from=<[email protected]>to=<[email protected]> proto=ESMTP helo=<[192.168.1.1]>

    La enorme versatilidad de postfix permite configurar hasta detalles que parecen ridículos, pero en este caso, el error Error Sender address rejected: not owned by user postfix está causado por la falta de una configuración. Esta permite  al sistema validar las las propias cuentas creadas para controlar a quien pueden escribirle. Por supuesto, también si se puede escribir a cuentas internas o externas.

    La solución

    Tampoco es que sea una tarea titánica. Por supuesto, si no tienes idea de donde tocar, no sabrías como arreglarlo. No es nada intuitivo y sin panel de control, interfaz web y otras cosas, pues solo queda recurrir a internet para encontrar alguien que haya tenido el mismo problema y alguien lo haya ayudado a resolverlo.

    Lo primero, tienes que haber creado una cuenta de usuario. Por supuesto, tienes que haber seguido los pasos para crear un postmap virtual.

    En el directorio /etc/postfix/virtual agrega la nueva cuenta  que has creado en tu sistema.

    Un vez todo configurado, debes hacer un postmap /etc/postfix/virtual para actualizar la base de datos virtuales.

    Recuerda tener el archivo virtual en formato dirección de correo / nombre de usuario

    123
    [email protected] [email protected]@ejemplo.com [email protected]@ejemplo.com [email protected]

    Conclusiones

    Esta solución la encontré en una respuesta de hace 10 años en serverfault a una pregunta similar al problema que tenia. Esto resuelve el problema de que es imposible enviar correos a servidores externos (gmail por ejemplo) pero si que permite enviarlos de forma local a otros usuarios del servidor propio. En principio no hay ningún problema visible desde el cliente de correo puesto que el correo se enviar sin generar error y no hay mensaje de rebote. Por supuesto, esto no pasaria en un entorno ya configurado con docker como Mailu o directamente usar paneles de control tipo CPanel, AAPanel y cosas similares (No tienes que sufrir todo esto y menos si lo haces por trabajo)

    https://interlan.ec/2025/10/17/error-sender-address-rejected-not-owned-by-user-postfix/

    #correoElectronico #diy #email #gmail #linux #postfix #resolucionDeProblemas #seguridad #selfhosting #servidores #solucionDeProblemas #troubleshoting #tutorial #vps

  5. 0 (0)

    Este es de los problemas que te encontrarías solo por hacer las cosas de forma manual, no tendrás que prestarle mucha atención con un sistema completo como Mailú, del que ya hablé alguna vez.

    Introducción

    Bueno, si te interesa este tema, es probable que contarte sobre los correos, su historia y sus usos te resulte repetitivo, así que me centraré en este problema. Hay muchísimas políticas destinadas para el control de Spam y phishing, así que administrar un servidor de correo electrónico se ha vuelto monstruosamente complicado. DKIM, SPF y otras cosas de las que hemos hablado, son medidas de seguridad para autenticar el origen de los correos, debido a que la naturaleza federada de estos, permite que cualquier persona pueda desplegar uno propio sin limitaciones y por supuesto, enviar masivas cantidades de correos.

    Los problemas

    1234
    Oct 17 09:21:40 debian postfix/smtpd[1643]: NOQUEUE: reject: RCPT fromunknown[x.x.x.x]: 553 5.7.1 <[email protected]>: Sender address rejected:not owned by user [email protected]; from=<[email protected]>to=<[email protected]> proto=ESMTP helo=<[192.168.1.1]>

    La enorme versatilidad de postfix permite configurar hasta detalles que parecen ridículos, pero en este caso, el error Error Sender address rejected: not owned by user postfix está causado por la falta de una configuración. Esta permite  al sistema validar las las propias cuentas creadas para controlar a quien pueden escribirle. Por supuesto, también si se puede escribir a cuentas internas o externas.

    La solución

    Tampoco es que sea una tarea titánica. Por supuesto, si no tienes idea de donde tocar, no sabrías como arreglarlo. No es nada intuitivo y sin panel de control, interfaz web y otras cosas, pues solo queda recurrir a internet para encontrar alguien que haya tenido el mismo problema y alguien lo haya ayudado a resolverlo.

    Lo primero, tienes que haber creado una cuenta de usuario. Por supuesto, tienes que haber seguido los pasos para crear un postmap virtual.

    En el directorio /etc/postfix/virtual agrega la nueva cuenta  que has creado en tu sistema.

    Un vez todo configurado, debes hacer un postmap /etc/postfix/virtual para actualizar la base de datos virtuales.

    Recuerda tener el archivo virtual en formato dirección de correo / nombre de usuario

    123
    [email protected] [email protected]@ejemplo.com [email protected]@ejemplo.com [email protected]

    Conclusiones

    Esta solución la encontré en una respuesta de hace 10 años en serverfault a una pregunta similar al problema que tenia. Esto resuelve el problema de que es imposible enviar correos a servidores externos (gmail por ejemplo) pero si que permite enviarlos de forma local a otros usuarios del servidor propio. En principio no hay ningún problema visible desde el cliente de correo puesto que el correo se enviar sin generar error y no hay mensaje de rebote. Por supuesto, esto no pasaria en un entorno ya configurado con docker como Mailu o directamente usar paneles de control tipo CPanel, AAPanel y cosas similares (No tienes que sufrir todo esto y menos si lo haces por trabajo)

    ¿De cuánta utilidad te ha parecido este contenido?

    ¡Haz clic en una estrella para puntuarlo!

    Enviar la puntuación

    Promedio de puntuación 0 / 5. Recuento de votos: 0

    Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

    ¡Siento que este contenido no te haya sido útil!

    ¡Déjame mejorar este contenido!

    Dime, ¿cómo puedo mejorar este contenido?

    Enviar la sugerencia

    https://interlan.ec/2025/10/17/error-sender-address-rejected-not-owned-by-user-postfix/

    #correoElectrónico #DIY #email #gmail #linux #postfix #resolucionDeProblemas #seguridad #selfhosting #servidores #solucionDeProblemas #troubleshoting #tutorial #vps

  6. 0 (0)

    Abrí mi blog y me encontré un aterrador error que decía: wp_comment corrupted. Exactamente así le pasó al creador del tutorial mas corto y directo que me sirvió para resolver el problema.

    Introducción

    Esto no es un problema con el que te puedas encontrar fácilmente, pero dada mis situaciones con mis recursos limitados, era obvio que iba a aparecer algún día. Por supuesto, no sabia que este error precisamente era el que vendría, pero si se andan cayendo los servicios por el oom Killer, algo malo iba a pasar.

    Hay muchas razones por las que se corrompen las tablas de MySQL. Entre ellas, están fallos físicos, (corrupción de memoria, fallos de energía, sectores dañados), fallos de causas humanas (cierres incorrectos del servidor) o fallos de software (fallos de sistema operativo, fallos en el mismo MySQL o el uso de herramientas de terceros para acceder y modificar los datos). Por supuesto, el malware es una importante causa de fallos de este tipo.

    Solución

    No le voy a dar mas vueltas por si llegaste buscando la solución. El autor original no lo hizo…¡en el 23 septiembre del 2008! (17 años hasta la publicación de este post).

    • Ejecuta el cliente mysql (o mariadb). mysql -u your_wordpress_user -p
    • Cambia a la base de datos de tu instancia de wordpress. use your_wordpress_database
    • Ejecuta el comando repair table wp_comments

    ¿Como funciona el comando Repair?

    Una tabla de MySQL se repara mediante un análisis que identifica y corrige inconsistencias o bloques corruptos en los datos, utilizando herramientas como el comando REPAIR TABLE o utilidades como mysqlcheck o herramientas de terceros, que reescriben los archivos de la tabla para restaurar su integridad y funcionamiento. El proceso implica detectar los errores, reconstruir la estructura y, finalmente, restaurar la tabla a un estado funcional. Recuerda que a veces puedes perder datos en el proceso de recuperación. Ten en cuenta que esto puede causar graves conflictos pues MySQL/MariaDB es una base de datos relacional. Recuperar la tabla no significa necesariamente que pueda volver a funcionar como antes. Es mas una operación de rescate y deberás tener en cuenta lo que necesitas hacer con este rescate.

    Una vez identificados los problemas, la tabla se reconstruye. Este proceso puede incluir:

    1. Eliminar datos corruptos: Si los datos están irrecuperables, pueden ser descartados para permitir que el resto de la tabla se reconstruya.
    2. Reescribir los archivos de la tabla: El sistema genera nuevos archivos de tabla que contienen una versión corregida de la información, reparando la estructura y la integridad.

    Puedes utilizar estas dos herramientas nativas para la reparación y verificación:

    • REPAIR TABLE nombre_tabla;: Este comando es la forma nativa de reparar una tabla dañada en MySQL.
    • CHECK TABLE nombre_tabla;: Se usa para verificar si una tabla tiene errores.

    Por supuesto, puedes usar otras herramientas como phpMyAdmin, que da la opción de reparar la tabla desde una interfaz web o los paneles de control de hosting (cpanel, Plesk, etc.) que ofrecen versiones simplificadas de este proceso.

    Conclusiones

    No le des mas vueltas. Probablemente estés usando este comando porque no tenias un respaldo a mano. O simplemente querías probar el comando por si podías ahorrarte algo de trabajo. Mi único consejo es que siempre tengas a mano el respaldo de tus bases de datos para evitar sustos innecesarios. Para cosas pequeñas puedes usar soluciones básicas, pero para cosas mas profesionales, tal vez y lo mejor sea que pienses en algo mas completo.

     

    ¿De cuánta utilidad te ha parecido este contenido?

    ¡Haz clic en una estrella para puntuarlo!

    Enviar la puntuación

    Promedio de puntuación 0 / 5. Recuento de votos: 0

    Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

    ¡Siento que este contenido no te haya sido útil!

    ¡Déjame mejorar este contenido!

    Dime, ¿cómo puedo mejorar este contenido?

    Enviar la sugerencia

    https://interlan.ec/2025/10/10/tabla-wpcomment-corrupted/

    #Blog #DIY #mysql #plugins #resolucionDeProblemas #selfhosting #solucionDeProblemas