Ejecutando SQL Query en todas las bases de datos


11

Tengo una cuenta de hosting con cPanel y phpmyadmin.

Tengo 50 bases de datos en esta cuenta, todas WordPress.

Necesito modificar esta consulta para que se ejecute en todas las bases de datos para actualizar la contraseña.

ACTUALIZACIÓN 'wp_users' SET 'user_pass' = MD5 ('alguna contraseña') DONDE 'user_login' = 'admin' LIMIT 1;

Esperando una solución que pueda apuntar a todas las bases de datos en lugar de tener que revisarlas una por una.

Gracias

Respuestas:


11

No puedo decir nada sobre cPanel y phpmyadmin, pero en general puedo hacerlo escribiendo un script simple.

He escrito un script de shell para ti

#!/bin/bash

# mysql credential 
user="root"
pass="root"

# list of all databases
all_dbs="$(mysql -u $user -p$pass -Bse 'show databases')"        

for db in $all_dbs
     do
        if test $db != "information_schema" 
            then if test $db != "mysql" 
            then mysql -u$user -p$pass $db -sN -e "UPDATE wp_users SET user_pass = MD5('somepassword') WHERE user_login ='admin' LIMIT 1;"
        fi
    fi  
     done

Mi anfitrión es extraño acerca de dar acceso a shell y me cobran por hacer comandos personalizados como este. Ya comencé a revisar cada una de las bases de datos y a actualizarlas manualmente. Gracias por ayudarme :)
Billy

8

Intente ejecutar esto y luego corte y pegue la salida nuevamente en phpMyAdmin

SELECT CONCAT('UPDATE `',     
    schema_name, '`.\'wp_users\' SET \'user_pass\' = MD5(\'somepassword\') WHERE \'user_login\' =\'admin\' LIMIT 1;')
FROM information_schema.schemata
WHERE schema_name NOT IN ('information_schema','mysql','performance_schema','test');

o, si puede instalar código en este servidor, instale Common Schema de Shlomi Noach y ejecute el siguiente QueryScript

call common_schema.foreach( 'schema', "UPDATE `${schema}`.`wp_users` SET 'user_pass' = MD5('somepassword') WHERE 'user_login' ='admin' LIMIT 1");

2
Estoy de acuerdo con la primera parte de esto, construya una consulta SQL que contenga el nombre_esquema y simplemente ejecútelo. Incluso podría compilarlo en Excel si fuera necesario, suponiendo que tenga los 50 nombres de base de datos que podría poner en una columna ...
Dave Rix
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.