Cambiar Base de Datos de Joomla

1 Jul

Con ayuda de Gonzalo, cómo cambiar la BD a la que referencia Joomla.

Básicamente, hay que editar el archivo mysql.php que está en:[Sitio]/libraries/joomla/database/database/mysql.php

Dentro de la funcion : __construct( $options )

Reemplazar el siguiente codigo :
 
$host= array_key_exists(‘host’, $options) ? $options[‘host’]: ‘localhost’;
$user= array_key_exists(‘user’, $options) ? $options[‘user’]: ”;
$password= array_key_exists(‘password’,$options)? $options[‘password’]: ”;
$database= array_key_exists(‘database’,$options)? $options[‘database’]: ”;
$prefix= array_key_exists(‘prefix’, $options)? $options[‘prefix’]: ‘jos_’;
$select= array_key_exists(‘select’, $options)? $options[‘select’]: true; */

Por este otro, forzando los valores:

 $host  = ‘localhost’;
 $user  = ‘root’;
 $password = ‘root’;
 $database = [database_name]’;
 $prefix  = ‘jos_’;
 $select  = true;

(Sustituir por lo que se necesite en password, contraseña y sitio)

11 comentarios to “Cambiar Base de Datos de Joomla”

  1. David septiembre 15, 2009 a 4:41 pm #

    El directorio que especifican no existe!!!!

    • rosariomonteverde septiembre 15, 2009 a 5:07 pm #

      Hola David,

      El directorio existe en Joomla 1.5.x.
      Si tu sitio se llama por ejemplo miwebjoomla, el directorio sería “miwebjoomla/libraries/joomla/database/database/mysql.php”

      Saludos!

  2. JuanSalleg febrero 13, 2010 a 11:48 am #

    Hola, David gracias por el dato, funciona perfecto…

    • JuanSalleg febrero 13, 2010 a 11:49 am #

      Perdon Rosario….je

  3. WILSON noviembre 24, 2010 a 7:24 pm #

    Gracias por la info.

    En un proyecto, no se por que razon Joomla nunca tomaba los datos configurados en el archivo configuration.php de la raiz. Y solo funciono cuando force los valores como arriba dices.

    Gracias nuevamente.

  4. Lorenzo abril 20, 2011 a 3:05 pm #

    Muchas gracias me sirvio.

  5. Pedro mayo 9, 2012 a 5:22 pm #

    Hola, una pregunta, ¿está bien redactado este código?:

    $database = [database_name]‘;

    o es:
    $database = ‘database_name’;

    Muchas gracias

    • rosariomonteverde mayo 9, 2012 a 5:41 pm #

      Hola Pedro,
      Está OK como tu decís, database_name está entre corchetes simplemente para indicar que es un parámetro a cambiar 🙂
      Saludos y gracias,

      Rosario

  6. Oscar diciembre 3, 2012 a 4:39 pm #

    Hola disculpa la pregunta pero estoy tratando de migrar mi sitio hecho en localhost hacia una web gratis, pero me da error las bases de datos como puedo arreglar esto, pq la verdad trato de hacer lo q tu dices pero no me resultan los cambios, sera q tu me puedes decir como hacerlo o como seria el resultado ya editado… gracias

    • rosariomonteverde diciembre 3, 2012 a 4:41 pm #

      Estás seguro que tu hosting gratuito soporta bases de datos MySQL? No es usual que lo hagan. Te recomiendo comprar hosting en bluehost.com o lunarpages.com. Saludos!

  7. Carlos-VelazquezDesign junio 23, 2013 a 1:40 pm #

    Mirad que os complicáis muchísimo ese archivo dejarlo tranquilo y solo tenéis que cambiar el configuration.php, para todas las versiones de joomla 1.0, 1.5, 1.7, 2.5, 3.0… creáis la nueva base de datos MySQL en el nuevo o el mismo hosting con el nombre nuevo de la base de datos, usuario nuevo de la base de datos y su contraseña, copias los archivos de la web en el nuevo hosting con el filezilla o similares FTP y cambias dentro del archivo configuration.php que debe estar en el directorio raiz del www o html o web o como lo llamen los que os vendieron el hosting,:
    public $dbtype = ‘mysqli’;
    public $host = ‘localhost’; dejarlo como está si tiene que leerla en el mismo hosting..
    public $user = ‘El nuevo usuario de la nueva DB’;
    public $password = ‘la contraseña usuario de la nueva DB’;
    public $db = ‘El nuevo nombre de la nueva DB’;
    public $dbprefix = ‘jos_’; esto es el prefijo de la base dedatos miradlo y cambiarlo

    El valor secret no lo toqueis y por ultimo las urls de el logs y el temp si el dominio es el mismo no la cambies y si se llama de otra forma entonces si:
    public $log_path = ‘/home/dominio/www/logs’;
    public $tmp_path = ‘/home/dominio/www/tmp’;

    ejemplo si el dominio es http://www.google.com deberia estar así:
    public $log_path = ‘/home/google/www/logs’;
    public $tmp_path = ‘/home/google/www/tmp’;

    si esta la web dentro de una carpeta por ejemplo llamada spain:
    public $log_path = ‘/home/google/www/spain/logs’;
    public $tmp_path = ‘/home/google/www/spain/tmp’;

    Pero no toquéis el otro archivo que también es valido pero mucho más bestia, ya que este archivo que os comento yo es el que se utiliza para esto.

    Suerte !!!!

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: