Después de mover WordPress, el inicio de sesión funciona, pero ya no hay acceso de administrador

Después de transferir un wordpress de un antiguo ISP a un nuevo ISP, tengo problemas con el acceso de administrador / acceso al tablero.

La transferencia se realizó copiando todos los archivos (incluido .htaccess) del servidor anterior al servidor nuevo, volcando el DB anterior y colocándolo en el nuevo servidor y ajustando todas las configuraciones para DB en wp-config.php.

Al configurar una entrada de hosts en mi máquina, pude verificar que todo funciona bien y aparece todo el contenido.

Aquí está mi problema.

Después de iniciar sesión a través de wp-login.php con credenciales antiguas y nuevas (cuenta de administrador agregada manualmente, por ejemplo) el inicio de sesión está sucediendo, redirigiéndome al sitio web, indicando el inicio de sesión exitoso mediante la barra de inicio de sesión en la parte superior de la página, pero acceso a el tablero está prohibido al indicar.

Sorry, you are not allowed to access this page. 

La barra de inicio de sesión tampoco tiene casi ninguna opción, excepto ir a wordpress.com o cerrar la sesión.

Esto es probablemente algo pequeño y solo necesito a alguien que me señale la dirección correcta.

Encontré la solución perfecta para mí.

El problema no fue migrar la base de datos a un nuevo servidor, pero si el prefijo de migración es diferente de lo que ocurrió.

Mi prefijo de base de datos original era algo así como wp_71XXXXXX28_ y en la nueva instalación estaba usando wp_ . Cambiar el prefijo solo resuelve la parte de datos, pero el problema de inicio de sesión sigue ahí, como lo has hecho.

Entonces, simplemente busco el prefijo anterior en todas las tablas usando la opción de búsqueda phpmyadmin para wp_71XXXXXX28_ y cambio los registros a wp_ .

Nota: encontré 5-6 coincidencias en wp_user y 1 coincidencia en wp_option , ¡podría ser diferente!

Parece que su problema es con la cuenta de administrador creada manualmente. El mensaje de error que está viendo me sugiere que hay un problema con los permisos asignados al usuario.

¿Me puede decir más sobre los pasos que tomó para agregar manualmente la cuenta?

Supongo que agregó el usuario directamente a la tabla de usuarios, pero después de hacerlo, ¿agregó capacidades e información de nivel de usuario a la tabla usermeta?

Para darle un ejemplo, si estoy creando un usuario, ejecutaría una consulta para insertar al usuario en la tabla wp_users (suponiendo, por supuesto, que estamos en el prefijo de tabla estándar).

Luego obtendría el ID de mi usuario recién creado y lo usaría para insertar dos filas nuevas en wp_usermeta .

umeta_id debe ser NULL y user_id debe ser el ID de su nuevo usuario para ambas entradas.

 1) meta_key: wp_capabilities meta_value: a:1:{s:13:"administrator";s:1:"1";} 2) meta_key: wp_user_level meta_value: 10 

Lectura adicional: http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/

Resulta que esto es un error dentro de WordPress 4.6.1 cuando se usa su propio prefijo para los nombres de tabla DB.

Cambie el nombre a wp_ prefix y cambie los nombres de la tabla y funciona.

esto puede deberse a que cambias el nombre de la tabla manualmente y luego aparece este error. así que también cambie el prefijo de la tabla en la tabla ‘usermeta’ en la columna ‘meta_key’

anteriorprefixtualquecambiasteinueva_ a

  • yourPrefix_capability
  • yourprefix_user_level
  • yourprefix_user-settings
  • yourprefix_user-settings-time

tu problema ha sido resuelto

Cuando use search & replace en el archivo .sql del sitio original de wordpress para usarlo en el nuevo, asegúrese de que cubrió todo. Tuve el mismo problema y revisé la tabla wp_usermeta, en la columna meta_key descubrí algunas claves con el nombre del prefijo de la tabla anterior. Reemplazarlos solucionó mi problema.

También me encontré con este mensaje después de una migración.

Parece que el prefijo de la base de datos distingue entre mayúsculas y minúsculas, y si no coincide exactamente, esto es lo que aparece al intentar acceder a las páginas de administración.

Asegúrese de verificar su config.php y configurarlo exactamente como su prefijo de tabla.

Si utiliza phpMyAdmin para verificar las tablas, debe tener en cuenta que todos los nombres de tablas en el árbol de la base de datos se muestran en minúsculas, mientras que en mi caso el prefijo esperado estaba en mayúsculas.


Imagen de phpMyAdmin : phpMyAdmin

El prefijo correcto en la imagen es el que se debe usar.

Utilicé la tabla “ _usermeta” para obtener el prefijo WP esperado.