mysqlEn esta sección se explica como crear una base de datos de nombre «prueba» a nivel de la consola como usuario normal del sistema entrando a mysql como administrador de este programa.
general@debian-64:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 100 Server version: 5.1.61-2 (Debian) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec) mysql> create database prueba; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | prueba | +--------------------+ 3 rows in set (0.00 sec)
Una vez creada la base de datos creamos un usuario «Nombre_usuario» con una contraseña «Password_usuario» y le damos permisos suficientes para operar en la base de datos. Estas operaciones son genéricas para cualquier base de datos, en particular para una base de datos de Drupal
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON prueba.* TO 'Nombre_usuario'@'localhost' IDENTIFIED BY 'Password_usuario'; Query OK, 0 rows affected (0.00 sec) mysql> exit; Bye general@debian-64:~$
Cada quien es libre cambiar «prueba», «Nombre_usuario» y «Password_usuario» por lo que desee.
Si se desea pueden darse todos los permisos mediante
mysql> GRANT all PRIVILEGES ON prueba.* TO 'Nombre_usuario'@'localhost' IDENTIFIED BY 'Password_usuario';
mysql> drop database prueba; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec)
Consta de tres etapas: la primera bajarse Drupal de la página óficial y descomprimirlo en cierta carpeta, también bajarse la traducción al español; la segunda preparar el proceso de instalación, fijando permisos y configuración general; en la tercera se realiza la instalación con un navegador.
Supponemos una instalación local en una máquina con permisos de superusuario. Alguna de las operaciones hay que hacerlas como root del sistema.
Esto puede hacerse con herramientas gráficas desde la página oficial drupal.org
o también desde la consola, que es lo más cómodo una vez localizada con el navegador la URL. Conviene también bajarse la traducción al español.
wget http://ftp.drupal.org/files/projects/drupal-7.15.tar.gz tar -zxvf drupal-7.15.tar.gz cd drupal-7.15/profiles/standard/translations wget http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.15.es.po mkdir /var/www/nombre_carpeta cd .. cd .. cd .. cd .. mv drupal-7.15/* drupal-7.15/.htaccess /var/www/nombre_carpeta cd /var/www/nombre_carpeta
Lo primero es crear el fichero de configuración settings.php (usando un modelo o crearlo vacío)
cp sites/default/default.settings.php sites/default/settings.php
Y también un directorio nuevo destinado a acoger los ficheros «anexos» a los artículos
mkdir sites/default/files
Ahora los permisos de escritura necesarios para la instalación
chmod o+w sites/default/settings.php chmod o+w sites/default chmod o+w sites/default/files
Copiar y pegar en la consola de root situados en la raiz del directorio de instalación
cp sites/default/default.settings.php sites/default/settings.php mkdir sites/default/files chmod o+w sites/default/settings.php chmod o+w sites/default chmod o+w sites/default/files
Desde cualquier navegador se abre la dirección local correspondiente
http://localhost/nombre_carpeta
Durante la instalación, primero verifica que existe y hay permisos de escritura en
sites/default/settings.php
A continuación pide nombre de base de datos a usar con Drupal y los correspondientes usuario y password que se establecieron al crear la base de datos para este fin.
En la misma pantalla, un poco más abajo, pide un nombre de "usuario_administrador" para esta instalación de Drupal y «contraseña». Ambos son independientes de los utilizados al crear la base de datos.
Al acabar la instalación nos dice que ha acabado y que si queremos entrar a verificar el «Status report» en el que nos advertirá de dos cosas importantes y una tercera más secundaria.
Las importantes tienen que ver con quitar los permisos concedidos anteriormente para garantizar la seguridad. Lo cual puede hacerse mediante:
chmod a-w sites/default/settings.php chmod a-w sites/default
Si ahora volvemos a verificar el «Status report» la situación ha mejorado: ha desaparecido la alarma roja.
La más secundaria es ejecutar cron haciendo click sobre el texto «run cron manualy». Y con ello termina la instalación.
En ocasiones he tenido una instalación en otra máquina y he necesitado recuperar la base de datos. Veamos como hacerlo.
Lo primero es crear una copia de seguridad de la base de datos del sistema viejo. Esto se consigue con el siguiente código, supuesto que la base de datos sea «NOMBRE». Desde una consola del sistema Linux como usuario normal se ejecuta
mysqldump -u root -p NOMBRE >~/NOMBRE.sql
lo cual crea el fichero NOMBRE.sql en el home de usuario (o en cualquier otro lugar que se le indique). Este fichero es el que hay que restablecer en la nueva instalación.
Para restablecer la copia de seguridad se utiliza la siguiente sintaxis
mysql -u root -p NOMBRE < ~/NOMBRE.sql
supuesto que el fichero se ha copiado en el home de usuario del nuevo sistema.
Además es imprescindible que copie los ficheros «adjuntos» que existían en la carpeta
sites/default/files
de la vieja instalación a esa misma carpeta, pero en la nueva instalación.
Realizado lo cual si vuelve a abrir con el navegador la dirección
http://localhost/nombre_carpeta
debe encontrar la información que tenía en la base de datos.
| Arrancar mysql | mysql -u root -p Por defecto no usa password aunque si se le ha puesto (detrás de -p) es necesario indicárselo en lo sucesivo |
| Listar database | show databases; |
| Crear bases de datos (en /var/lib/mysql) | create database NOMBRE; |
| Borrar base de datos | drop database NOMBRE; |
| Conceder permisos a usuario | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
ON NombreBD.*
TO 'username'@'localhost' IDENTIFIED BY 'password'; o bien GRANT all PRIVILEGES on NombreBD.* to Usuario@localhost identified BY 'usuario_password'; |
| Añadir nuevas cuentas de usuario | http://dev.mysql.com/doc/refman/5.0/es/adding-users.html |
| Hacer copia de seguridad | mysqldump ¿--add-drop-table? -u root -p NOMBRE >~/NOMBRE.sql |
| Restablecer copia de seguridad | mysql -u root -p NOMBRE < ~/NOMBRE.sql |
| Copiar los datos de una tabla a otra tabla | insert into db1.tabla select * from db2.tabla |
| Borrar una tabla | drop table BaseDatos.NombreTabla; http://www.programatium.com/biblioteca/programacion/php/insertar.htm |