COMO CREAR UNA BASE DE DATOS EN MY SQL
Crear una base de datos
^
Cada conjunto de relaciones que componen un modelo completo forma una base de datos.
Desde el punto de vista de SQL, una base de datos es sólo un conjunto de relaciones (o
tablas), y para organizarlas o distinguirlas se accede a ellas mediante su nombre. A nivel de
sistema operativo, cada base de datos se guarda en un directorio diferente.
Debido a esto, crear una base de datos es una tarea muy simple. Claro que, en el momento
de crearla, la base de datos estará vacía, es decir, no contendrá ninguna tabla.
Vamos a crear y manipular nuestra propia base de datos, al tiempo que nos familiarizamos
con la forma de trabajar de MySQL.
Para empezar, crearemos una base de datos para nosotros solos, y la llamaremos "prueba".
Para crear una base de datos se usa una sentencia CREATE DATABASE:
mysql> CREATE DATABASE prueba;
Query OK, 1 row affected (0.03 sec)
mysql>
COMO EXPORTAR E INPORTAR UNA BASEDE DATOS MY SQL
EXPORTAR:
Exportar una base de datos
Usaremos esta opción cuando deseemos migrar un alojamiento y tengamos que importar
nuestra base de datos en el nuevo alojamiento o simplemente para guardarnos una copia de
seguridad.
La herramienta que vamos a utilizar es el phpMyAdmin. La manera de acceder a él depende
del acceso que le proporcione la empresa de alojamiento. En el caso de CDmon se accede
desde http://sudominio.com/phpMyAdmin (son importantes las mayúsculas) y para acceder
necesitará su nombre de usuario y contraseña.
Encontrará sus datos de acceso en su Panel de Control, planes alojados, su dominio,
MySQL, Datos de conexión a la base de datos MySQL. Gestión de usuarios MySQL
Una vez dentro del phpMyAdmin, debemos seleccionar la base de datos que deseamos
exportar a un archivo.
Seleccionada la base de datos debe hacer clic en el enlace "Exportar":
Le aparecerá una nueva ventana.
Puede realizar la exportación de modo "Rápido" haciendo clic en "Continuar".
Puede seleccionar "Personalizar" si no desea exportar todas las tablas, o desea cambiar "Juego
de caracteres del archivo" UTF-8, o puede seleccionar compresión si quiere que el archivo
que se genere ocupe menos espacio.
Una vez recibido el archivo ya tenemos la copia de la base de datos en nuestro disco, lista
para Importar.
2. Importar una base de datos
Debemos importar un archivo que se ha generado previamente. Si usted está migrando su
base de datos de otro alojamiento a CDmon, deberá tener la copia de la base de datos en un
archivo con extensión .sql, .zip, .tar.gz o .tgz en su disco duro.
Si la base de dados a importar pesa más de 2 MB deberá de realizar la importación a través
del panel de control de CDmon, Tiene un tutorial de cómo hacerlo aquí.
Si la base de dados pesa menos podrá realizarlo desde el phpMyAdmin (desde
http://sudominio.com/phpMyAdmin) y para acceder necesitará su nombre de usuario y
contraseña. Encontrará sus datos de acceso en su Panel de Control, planes alojados, su
dominio, MySQL, Datos de conexión a la base de datos MySQL. Gestión de usuarios
MySQL
Primero se ha de escoger la base de dados a la que quiere importar o crearla a través del
panel de control de CDmon, Tiene un tutorial de cómo hacerlo aquí.
Una vez dentro del phpmyadmin, debemos seleccionar la base de datos que hemos creado y
a la cual deseamos importar nuestro archivo.
Seleccionada la base de datos debe hacer clic en el enlace "Importar":
Nos mostrará la ventana donde nos permite examinar en nuestro disco duro el archivo de la
base de datos. Haga clic en "Examinar", seleccione el archivo y acepte.
En la selección de "Juego de caracteres" debería seleccionar la misma opción que eligió
cuando exportó la base de datos. Habitualmente se utiliza UTF-8.
Hecho esto sólo nos queda hacer clic en "Continuar" y esperar que se cargue el archivo.
Tardará más o menos dependiendo del tamaño del archivo.
ISTALACION DE MY SQL
El proceso de instalación es muy simple y prácticamente no requiere intervención por parte
del usuario.
Comienza el proceso; sólo nos llevará un par de minutos…
Cada vez que veo la pantalla de la GNU GPL me lleno de felicidad. No sólo por las
condiciones y el precio: es además, para mí, una garantía de profesionalidad.
Estadísticamente, la instalación típica será la que mejor se adapte a tus necesidades.
Todo listo; presiona Install cuando quieras.
Una vez instalado MySQL, la siguiente fase es la configuración del servidor en sí mismo.
Asegúrate de que la marca Launch the MySQL Instance Configuration Wizard esté activa.
Adelante, sin miedo…
Optamos por Detailed Configuration, de modo que se optimice la configuración del servidor
MySQL.
Ha llegado un momento crucial. Dependiendo del uso que vayamos a darle a nuestro
servidor deberemos elegir una opción u otra, cada una con sus propios requerimientos de
memoria. Puede que te guste la opción Developer Machine, para desarrolladores, la más
apta para un uso de propósito general y la que menos recursos consume. Si vas a compartir
servicios en esta máquina, probablemente Server Machine sea tu elección o, si vas a dedicarla
exclusivamente como servidor SQL, puedes optar por Dedicated MySQL Server Machine,
pues no te importará asignar la totalidad de los recursos a esta función.
De nuevo, para un uso de propósito general, te recomiendo la opción por defecto,
Multifunctional Database.
InnoDB es el motor subyacente que dota de toda la potencia y seguridad a MySQL. Su
funcionamiento requiere de unas tablas e índices cuya ubicación puedes configurar. Sin
causas de fuerza mayor, acepta la opción por defecto.
Esta pantalla nos permite optimizar el funcionamiento del servidor en previsión del número
de usos concurrentes. La opción por defecto, Decision Support (DSS) / OLAP será
probablemente la que más te convenga.
Deja ambas opciones marcadas, tal como vienen por defecto. Es la más adecuada para un
uso de propósito general o de aprendizaje, tanto si eres desarrollador como no. Aceptar
conexiones TCP te permitirá conectarte al servidor desde otras máquinas (o desde la misma
simulando un acceso web típico).
Hora de decidir qué codificación de caracteres emplearás. Salvo que quieras trabajar con
Unicode porque necesites soporte multilenguaje, probablemente Latin1 te sirva (opción por
defecto).
Instalamos MySQL como un servicio de Windows (la opción más limpia) y lo marcamos
para que el motor de la base de datos arranque por defecto y esté siempre a nuestra
disposición. La alternativa es hacer esto manualmente.
Además, me aseguro de marcar que los ejecutables estén en la variable PATH, para poder
invocar a MySQL desde cualquier lugar en la línea de comandos.
Pon una contraseña al usuario root. Esto siempre es lo más seguro.
Si lo deseas, puedes indicar que el usuario root pueda acceder desde una máquina diferente
a esta, aunque debo advertirte de que eso tal vez no sea una buena práctica de seguridad.
Última etapa: listos para generar el fichero de configuración y arrancar el servicio.
Configuración
Para nuestro cluster de 4 nodos y 4 equipos, necesitamos escribir 4 ficheros de
configuración, 1 por nodo/equipo.
Cada nodo de datos o SQL necesita un fichero my.cnf que proporciona dos
informaciones: un connectstring diciendo al nodo dónde encontrar el nodo MGM , y
una línea diciendo al servidor MySQL en este equipo (la máquina del nodo de datos)
que se ejecute en modo NDB.
Para más información de connectstrings, consulte Sección 16.4.4.2, “El connectstring
de MySQL Cluster”.
El nodo de administración necesita un fichero config.ini que le diga cuántas replicas
mantener, cuánta memoria reservar para datos e índices en cada nodo de datos,
dónde encontrar los nodos de datos, dónde se guardarán los datos en cada nodo de
datos, y dónde encontrar los nodos SQL.
Configuración de los nodos de almacenamiento y SQL
El fichero my.cnf necesitado por los nodos de datos es muy simple. El fichero de
configuración debe estar localizado en el directorio /etc y puede editarse (y crearse en caso
necesario) usando un editor de texto, por ejemplo:
vi /etc/my.cnf
Para cada nodo de datos y SQL en nuestra configuración de ejemplo, my.cnf debe tener este
aspecto:
[MYSQLD] # Options for mysqld process:
ndbcluster # run NDB engine
ndb-connectstring=192.168.0.10 # location of MGM node
[MYSQL_CLUSTER] # Options for ndbd process:
ndb-connectstring=192.168.0.10 # location of MGM node
Tras introducir lo anterior, guarde este fichero y salga del editor de texto. Hágalo pra las
máquinas que guarden el nodo de datos "A", el "B" y el nodo SQL.
Configuración del nodo de administración
El primer paso al configurar el nodo MGM es crear el directorio en que puede encontrarse
el fichero de configuración y crear el fichero própiamente dicho. Por ejemplo (ejecutando
como root):
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
vi config.ini
Mostramos vi para crear el fichero, pero puede usar cualquier editor de textos.
Para nuestra inicialización representativa, el fichero config.ini debe leerse así:
[NDBD DEFAULT] # Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=18M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
[TCP DEFAULT] # TCP/IP options:
portnumber=2202 # This the default; however, you can use any
# port that is free for all the hosts in cluster
# Note: It is recommended beginning with MySQL 5.0 that
# you do not specify the portnumber at all and simply allow
# the default value to be used instead
[NDB_MGMD] # Management process options:
hostname=192.168.0.10 # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node logfiles
[NDBD] # Options for data node "A":
# (one [NDBD] section per data node)
hostname=192.168.0.30 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's datafiles
[NDBD] # Options for data node "B":
hostname=192.168.0.40 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's datafiles
[MYSQLD] # SQL node options:
hostname=192.168.0.20 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for SQL node's datafiles
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
(NOTA: La base de datos "world" puede descargarse desde http://dev.mysql.com/doc/ donde
puede encontrarse en "Examples".)
Una vez que todos los ficheros de configuración se han creado y se han especificado estas
opciones, está preparado para arrancar el cluster y verificar que todos los procesos están en
ejecución. Se discute acreca de esto en Sección 16.3.4, “Arranque inicial”.
Para información más detallada acerca de los parámetros de configuración de MySQL
Cluster y sus usos, consulte Sección 16.4.4, “Fichero de configuración” y Sección 16.4,
“Configuración de MySQL Cluster”. Para configuración de MySQL Cluster para realizar
copias de seguridad, consulte Sección 16.6.4.4, “Configuración para copias de seguridad de
un nodo”.
Nota: El puerto por defecto para administración del cluster es 1186; el puerto por defecto
para nodos de datos es 2202. A partir de MySQL 5.0.3, esta restricción se elimina, y el
cluster reserva los puertos de los nodos de datos automáticamente de los que están libres.