• 0
  • 2 RepliesReplies
  • 5457 ReadTimes Read
  • 13 PointsPoints

Topic: Error en la Base de Datos - Por favor...

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Error en la Base de Datos - Por favor...
June 11, 2013 - 04:52 16:52
Error en la Base de Datos - Por favor intenta nuevamente. Si esta pantalla aparece nuevamente, notifica del error a un administrador

¿Ha tenido este error antes?
Si usted tiene un vps, o un servidor dedicado, entonces acá dejo una solución bastante sencilla y eficiente para solventar este problema.  Saludos.



Hoy un amigo que tiene un foro SMF experimentó este problema de la noche a la mañana.Investigando un poco, el error ya es algo común entre muchos usuarios. En esta sección veremos algunos detalles que nos pueden ayudar a identificar la solución para este error.

Las causas más conocidas, provienen en su mayoría desde la base de datos. Es decir, no tiene nada que ver con SMF a nivel de aplicación (archivos php). ¿Cómo puedo pasar esto? Bueno, veamos algunos escenarios:

    Los datos son eliminados incorrectamente: Cuando se elimina un registro de la base de datos, otras tablas pueden contener aún referencias a este. Por lo tanto, tratar de accesar a dicha información da un error de resultado de datos, y lanza el error mencionado.
    Tabla inexistente: Al igual que el escenario anterior, con la tabla pasa algo parecido. Una tabla aún tiene referencia a otra tabla que ya no existe.
    Tablas no depuradas o corruptas: A veces los datos de una tabla están incompletos, o bien, inválidos. Una razón que puede provocar esto es porque la partición donde el servidor de MySQl está instaldo se ha llenado.

Al menos para el primero y último escenario, tenemos una manera de solucionar el problema desde una consola de linux de comandos (también sirve para windows). Usando la función mysqlcheck de Mysql. Primero, revisemos el archivo Settings.php de SMF, y veremos datos como estos:

    $db_type = 'mysql';
    $db_server = 'localhost';
    $db_name = 'mi_db';
    $db_user = 'usuario_db_smf';
    $db_passwd = 'mi_pass';

Usando la consola de comandos de nuestro servidor, o bien, mediante un cliente ssh hacemos:

    mysqlcheck -u usuario_db_smf -p --auto-repair --check --optimize --all-databases

Nótese que se está usando el nombre de usuario de la base de datos que administra la misma del foro SMF.

Ahora, les va a pedir que ingresen la contraseña:

    Enter password:

Una vez que la escriban correctamente, verán algo asi:

    mi_db.smf_admin_info_files                 OK
    mi_db.smf_ads                              Table is already up to date
    mi_db.smf_ads_settings                     Table is already up to date
    mi_db.smf_approval_queue                   OK
    mi_db.smf_attachments                      OK
    mi_db.smf_ban_groups                       Table is already up to date
    mi_db.smf_ban_items                        Table is already up to date
    mi_db.smf_board_permissions                Table is already up to date
    mi_db.smf_boards                           OK
    mi_db.smf_bookmarks                        Table is already up to date
    mi_db.smf_broken_links_list                Table is already up to date
    mi_db.smf_buddies                          Table is already up to date
    mi_db.smf_calendar                         Table is already up to date
    mi_db.smf_calendar_holidays                Table is already up to date
    mi_db.smf_categories                       Table is already up to date
    mi_db.smf_collapsed_categories             Table is already up to date
    mi_db.smf_custom_fields                    Table is already up to date
    mi_db.smf_group_moderators                 Table is already up to date
    mi_db.smf_log_actions                      OK
    mi_db.smf_log_activity                     OK
    mi_db.smf_log_banned                       Table is already up to date
    mi_db.smf_log_boards                       OK
    mi_db.smf_log_comments                     Table is already up to date
    mi_db.smf_log_digest                       OK
    mi_db.smf_log_errors
    error    : Found key at page 1562624 that points to record outside datafile
    status   : Operation failed
    mi_db.smf_log_floodcontrol                 OK
    mi_db.smf_log_group_requests               Table is already up to date
    mi_db.smf_log_karma                        Table is already up to date
    mi_db.smf_log_mark_read                    OK
    mi_db.smf_log_member_notices               Table is already up to date
    mi_db.smf_log_notify                       OK
    mi_db.smf_log_online
    warning  : Number of rows changed from 5 to 4
    status   : OK
    mi_db.smf_log_packages                     Table is already up to date
    mi_db.smf_log_polls                        Table is already up to date
    mi_db.smf_log_reported                     Table is already up to date
    mi_db.smf_log_reported_comments            Table is already up to date
    mi_db.smf_log_scheduled_tasks              OK
    mi_db.smf_log_search_messages              Table is already up to date
    mi_db.smf_log_search_results               OK
    mi_db.smf_log_search_subjects              OK
    mi_db.smf_log_search_topics                Table is already up to date
    mi_db.smf_log_spider_hits                  Table is already up to date
    mi_db.smf_log_spider_stats                 OK
    mi_db.smf_log_subscribed                   Table is already up to date
    mi_db.smf_log_topics                       OK
    mi_db.smf_mail_queue                       Table is already up to date
    mi_db.smf_membergroups                     Table is already up to date
    mi_db.smf_members                          OK
    mi_db.smf_message_icons                    Table is already up to date
    mi_db.smf_messages                         OK
    mi_db.smf_moderators                       Table is already up to date
    mi_db.smf_openid_assoc                     Table is already up to date
    mi_db.smf_package_servers                  Table is already up to date
    mi_db.smf_permission_profiles              Table is already up to date
    mi_db.smf_permissions                      OK
    mi_db.smf_personal_messages                OK
    mi_db.smf_picture_comments                 Table is already up to date
    mi_db.smf_pm_recipients                    OK
    mi_db.smf_pm_rules                         Table is already up to date
    mi_db.smf_poll_choices                     Table is already up to date
    mi_db.smf_polls                            Table is already up to date
    mi_db.smf_pretty_topic_urls                OK
    mi_db.smf_pretty_urls_cache                Table is already up to date
    mi_db.smf_profile_albums                   Table is already up to date
    mi_db.smf_profile_comments                 Table is already up to date
    mi_db.smf_profile_pictures                 Table is already up to date
    mi_db.smf_related_subjects                 OK
    mi_db.smf_related_topics                   OK
    mi_db.smf_scheduled_tasks                  OK
    mi_db.smf_sessions                         OK
    mi_db.smf_settings                         OK
    mi_db.smf_smileys                          Table is already up to date
    mi_db.smf_spiders                          Table is already up to date
    mi_db.smf_ssrs_good_post                   OK
    mi_db.smf_ssrs_likes                       Table is already up to date
    mi_db.smf_subscriptions                    Table is already up to date
    mi_db.smf_themes                           OK
    mi_db.smf_topics                           OK
     
    Repairing tables
    mi_db.smf_log_errors
    info     : Wrong bytesec:   0-  0-  0 at 48825404; Skipped

En cada tabla que vean el mensaje de OK significa que la tabla fue reparada ya que existía alguna anomalía. Por otro lado, Table is already up to date significa que la tabla se ha encontrado en óptimas condiciones.

Fuente:
http://delibertad.com/smf2/error-en-la-base-de-datos-por-favor-intenta-nuevamente.-si-esta-pantalla-aparece-nuevamente-notifica-del-error-a-un-administrador
soporte privado: manfredjb@hotmail.com
You do not have permission to give points
point 13 Points

Users who gave points in this topic » DIBILO (10 Pts) » Rampe (3 Pts) 

Usuario: Lean
Rango: Fundador
Mensajes: 6782
Points: 236
Perfil: View Profile
Pais:
ar
Re:[Tutorial] Error en la Base de Datos - Por favor...
Reply #1 June 11, 2013 - 10:14 22:14
Excelente aporte manix!

PD: SMF siempre te termina atrapando jajajajajajaj

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:[Tutorial] Error en la Base de Datos - Por favor...
Reply #2 June 12, 2013 - 09:56 09:56
¬¬

 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines