deberes de base de datos de my sql
-
Upload
dianis-prexiocita -
Category
Documents
-
view
240 -
download
0
description
Transcript of deberes de base de datos de my sql
Manual de MYSQL
Instalación y configuración por primera vez en Linux:
1) Para activar mysql en redhat 7.3 con el comando ntsys se señala mysqld para activarlo cada vez que se
reinicie linux.
2) Las bases de datos de mysql se crearán en el directorio /var/lib/mysql/ . Cada base de datos es un directorio
diferente y cada tabla es un archivo dentro del directorio las dos bases que se crean cuando se instala mysql
es “mysql” y “test”.
3) Se corre el comando mysql_install_db para crear las bases que guardarán los permisos de los usuarios.
4) Con el comando mysqladmin -u root password mi_password se crea un password para el administrador de
la base de datos Ejemplo:
mysqladmin –u root password admin
Admin sería la nueva clave para el administrador de la base de datos
Para cambiar la clave se pondría
mysqladmin -uroot -padmin password nuevaclave
5) Para probar si la conexión está bien y se puede entrar a la base de datos se pone
mysql -u root –p
aquí ahora va a pedir un password el password en este caso es admin el cual definimos en el paso 4. Para salir
se pone quit.
Instalación y configuración por primera vez en windows:
Para instalar mysql en windows se baja el archivo mysql-max-3.23.48-win.zip y se desempaqueta en
cualquier directorio, luego se ejecuta el archivo setup.exe, cuando se instala pedirá un directorio en donde
instalar en este caso pondremos c:\internet\mysql.
Ejecutamos la aplicación c:\internet\mysql\bin\winmysqladmin.exe
Esta aplicación nos permitirá administrar la base de datos. La primera vez que se ejecuta nos va a pedir un
usuario y una clave en este caso vamos a poner root y admin. En la parte inferior derecha de la pantalla
aparecerá un semáforo con la luz verde encendida esto indica que el servidor está activo, para apagar el
servidor damos un click con el botón derecho sobre el gráfico del semáforo y aparecerá un menú, elegimos la
opción win9x (en una instalación en windows me) y luego shutdown Both. Esta herramienta también sirve
para crear bases de datos en modo gráfico.
Para ingresar al modo de comandos y administrar la base de datos se va al directorio:
C:\internet\mysql\bin\mysql –u root –p
Como password se pone admin, esto hará que salga el prompt de mysql:
mysql>
Para salir se pone exit o quit
Las bases de datos se crearán el directorio:
c:\internet\mysql\data
Operaciones Básicas
Se entra a la base de datos con:
mysql -u root –p y como clave se pone admin. En la línea de comandos se pone:
mysql> SELECT VERSION(), CURRENT_DATE();
lo cual mostrara:
+-----------+----------------+
| version() | current_date() |
+-----------+----------------+
| 3.23.49 | 2002-06-06 |
+-----------+----------------+
1 row in set (0.00 sec)
se pueden hacer pequeñas operaciones como:
mysql> SELECT SIN(PI()/4), (4+1)*5;
+-------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+-------------+
---------| 0.707107 | 25 |+-------------+---------+1 row in set (0.00 sec)mysql> select user();+----------------
+| user() |+----------------+| root@localhost |+----------------+1 row in set (0.04 sec)
Para ver las bases de datos existentes se pone:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
Creación de usuarios y permisos para las tablas
Una vez creada la base de datos se le puede dar permisos para que solo un usuario determinado pueda usar
dicha base de datos la forma de hacerlo es la siguiente:
mysql –u root –p se ingresa con el usuario de administrador
grant all on pruebas.* to ua033333@localhost identified by „clave‟
flush privileges;
donde pruebas es la base de datos y ua033333 es el usuario al que se quiere dar acceso y clave la clave del
usuario.
Para ingresar a la base se pone mysql -u ua033333 –p y se introduce la clave
Para cambiar de clave se pone
SET PASSWORD FOR 'ua033333@localhost' = PASSWORD( '**********' )
Otra forma de crear usuarios es ingresar con la clave de root a la base de datos y poner las siguientes
sentencias:
use mysql;
insert into user values("localhost", "nombredeusuario", password("clavedeusuario"), "Y", "Y", "Y", "Y", "Y",
"Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y");
insert into db values ("localhost", "basededatosconcreta", "nombredeusuario", "Y", "Y", "Y", "Y", "Y", "Y",
"Y", "Y", "Y", "Y");
exit;
Pasos para crear bases de datos
El comando para crear la base de datos es:
mysql> CREATE DATABASE prueba;
esto hará que se cree el directorio prueba en /var/lib/mysql/prueba.
Para crear las tablas de la base de datos se pone:
mysql> use prueba;
para elegir la tabla en la que se va ha trabajar
mysql> create table clientes (nombre varchar(20), edad int(2),
-> sueldo float(9,2), memo text);
Tipos posibles de campos
VARCHAR Tiene un número variable de caracteres el número que se pone es el número
máximo de caracteres que puede tener este número va de 1 a 255
CHAR Tiene un número fijo de caracteres va de 1 a 255
DATE Tipo fecha (YYYY-MM-DD)-( '1000-01-01' a '9999-12-31')
TIME Tipo hora (HH:MM:SS) – (-838:59:59' a '838:59:59)
DATETIME Tipo fecha y hora (YYYY-MM-DD HH:MM:SS)
TIMESTAMP(N) Tipo fecha y hora. Se utiliza para generar campos en los cuales
automáticamente se guardan la fecha y hora de creación
o modificación del registro. Ejemplos de formatos:
TIMESTAMP(14) YYYYMMDDHHMMSS
TIMESTAMP(12) YYMMDDHHMMSS
TIMESTAMP(10) YYMMDDHHMM
TIMESTAMP(8) YYYYMMDD
TIMESTAMP(6) YYMMDD
TIMESTAMP(4) YYMM
TIMESTAMP(2) YY
YEAR(2 o 4) Tipo año (1970 a 2069)
INTEGER (INT) Tipo numérico entero (-2147483648 a 2147483647)
FLOAT (M,D) Número real de coma flotante M es el número y D los decimales
(-3.402823466E+38 a -1.175494351E-38, 0, y
1.175494351E-38 a 3.402823466E+38.)
DOUBLE(M,D) Número real de doble precisión M es el número y D los decimales
(- 1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y
2.2250738585072014E-308 a 1.7976931348623157E+308)
BLOB Para grandes textos la longitud máxima es 65535 con este tipo las búsquedas de
texto son sensibles a las mayúsculas.
TEXT Para grandes textos la longitud máxima es 65535 con este tipo las búsquedas de
texto NO son sensibles a las mayúsculas.
Opciones para los campos
not null El valor no puede ser nulo en el campo
auto_increment automáticamente incrementa el número del registro anterior
primary key El PRIMARY KEY es un campo que MySQL usa como índice. Este índice puede
hacer cosas como:
Hallar rápidamente filas que acierten una cláusula WHERE.
Regresar filas de una tabla desde otras tablas cuando se realizan uniones.
Esto definitivamente te va a ayudar a agilizar sus peticiones también.
Key Crea una llave secundaria
Creación de una tabla con índices o llaves:
Mysql> create table prueba4 (llave1 int(1) not null, llave2 int(1), primary key(llave1),key(llave2));
Toda llave primaria debe ser de tipo not null para que pueda indexar correctamente. En este ejemplo el campo
llave1 es la llave primaria y el campo llave2 es la llave secundaria.
Creación de campos para buscar textos en estos:
mysql> CREATE TABLE articles (
-> id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
-> title VARCHAR(200),
-> body TEXT,
-> FULLTEXT (title,body)
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO articles VALUES
-> (0,'MySQL Tutorial', 'DBMS stands for DataBase ...'),
-> (0,'How To Use MySQL Efficiently', 'After you went through a ...'),
-> (0,'Optimising MySQL','In this tutorial we will show ...'),
-> (0,'1001 MySQL Trick','1. Never run mysqld as root. 2. ...'),
-> (0,'MySQL vs. YourSQL', 'In the following database comparison ...'),
-> (0,'MySQL Security', 'When configured properly, MySQL ...');
Query OK, 6 rows affected (0.00 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM articles
-> WHERE MATCH (title,body) AGAINST ('database');
+----+-------------------+------------------------------------------+
| id | title | body |
+----+-------------------+------------------------------------------+
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
+----+-------------------+------------------------------------------+
2 rows in set (0.00 sec)
Para ver todas las tablas de la base:
mysql> show tables;
+------------------+
| Tables_in_prueba |
+------------------+
| clientes |
+------------------+
1 row in set (0.00 sec)
Para ver la estructura de la tabla se pone:
mysql> DESCRIBE clientes;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| nombre | varchar(20) | YES | | NULL | |
| edad | int(2) | YES | | NULL | |
| sueldo | float(9,2) | YES | | NULL | |
| memo | text | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
Modificación de la Estructura de una Tabla
Cambia los atributos de una columna que ya existe ALTER TABLE [nombre_de_la_tabla] CHANGE [nombre_columna] [nombre_columna opciones_de _columna];
ALTER TABLE clientes CHANGE nombre nombreapellido varchar(10);
Colocar una columna al final de la tabla ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones];
ALTER TABLE clientes ADD cedula varchar(10);
Si se desea crear una columna al inicio de una tabla: ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] FIRST;
ALTER TABLE clientes ADD cedula varchar(10) FIRST;
Y si se trata de colocarla después de una columna dada, es: ALTER TABLE [nombre_de_la_tabla] ADD [columna_nueva opciones] AFTER [nombre_de_columna]; ALTER TABLE clientes ADD cedula varchar(10) AFTER nombre;
Para eliminarla, se utiliza este comando: ALTER TABLE [nombre_de_la_tabla] DROP [nombre_columna]; ALTER TABLE clientes DROP cedula;
Para insertar datos a la tabla
Se utiliza la siguiente sentencia:
mysql> INSERT INTO clientes
-> VALUES ('Pablo','30','600',NULL);
Nota: La comilla es obligatorio para el ingreso de datos
Otra forma de ingresar datos es:
mysql> insert into clientes
-> (nombre)
-> values
-> ('pablo');
con esta forma se ingresa el nombre pablo en el campo nombre únicamente
Para insertar datos a la tabla desde un archivo de textos la sentencia es:
mysql> LOAD DATA LOCAL INFILE "datos.txt" INTO TABLE clientes;
el archivo debe tener el siguiente formato:
Pablo 30 600 \N
Juan 20 \N bueno
El símbolo \N sirve para cuando ese campo no tiene datos. El separador de campos es TAB y el de registros el
fin de línea LF (o Enter)
Si el archivo de texto tiene separado los campos por medio de comas y a su vez cada campo encerrado por
comillas la sentencia que se utiliza es:
mysql> LOAD DATA INFILE 'datos.txt' INTO TABLE clientes
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\n';
Ejemplo de archivo datos.txt
“Pabo”,”30”,”600”,”\N”
“Juan”,”25”,”500”,”\N”
Mostrar los datos de una tabla
Para los datos de una tabla se utiliza la sentencia :
SELECT [campos que se quiere mostrar]
FROM [nombre de la tabla de la cual se extraen datos]
WHERE [condiciones para extraer datos]
Ejemplo:
mysql> SELECT * FROM clientes;
+--------+------+--------+------+
| nombre | edad | sueldo | memo |
+--------+------+--------+------+
| pablo | 30 | 600.00 | NULL |
| pablo | NULL | NULL | NULL |
+--------+------+--------+------+
2 rows in set (0.00 sec)
Enviar la consulta a un archivo
mysql> select * from empresas into outfile '/prueba/hola2.txt' fields terminated by '@@'
-> lines terminated by „\n‟;
consulta con condiciones:
mysql> SELECT * FROM clientes WHERE nombre="pablo" and sueldo="500";
mysql> SELECT * FROM clientes WHERE edad >= "30";
mysql> SELECT nombre, edad FROM clientes WHERE edad >= "30";
mysql> SELECT distinct nombre FROM clientes;
distinct sirve para que saque solo los registros únicos no los repetidos en el campo nombre
mysql> SELECT * FROM clientes ORDER BY edad;
para que el resultado se ordene por edad
mysql> SELECT * FROM clientes ORDER BY edad DESC;
para que el resultado se ordene en forma descendente
mysql> SELECT * FROM clientes GROUP BY edad;
mysql> SELECT nombre, sueldo/100 from clientes;
para que muestre la columna sueldo dividido para 100
mysql> select * from clientes where edad is NULL;
mysql> select * from clientes where edad is NOT NULL;
mysql> SELECT * FROM clientes WHERE nombre LIKE "P%";
para buscar nombres que comienzan con P
mysql> SELECT * FROM clientes WHERE nombre LIKE "%P";
para buscar nombres que terminan con P
mysql> SELECT * FROM clientes WHERE nombre LIKE "%P%";
para buscar nombres que tengan P en cualquier posicion
mysql> SELECT * FROM clientes WHERE nombre LIKE "_";
para buscar nombres que tengan un carácter
mysql> SELECT nombre, COUNT(*) FROM clientes
mysql> SELECT DISTINCT nombre FROM clientes saca los nombres sin repetidos
mysql> SELECT * from tabla1 where not exists
(SELECT * from tabla2 where tabla1.codigo = tabla2.codigo); muestra los códigos de la tabla1
que no existan en la tabla2
Modificar un Registro
mysql> UPDATE clientes SET sueldo="500" WHERE nombre="pablo";
mysql> UPDATE clientes set sueldo="600" where edad=30;
Borrar todos los registros de la tabla
mysql> DELETE from clientes;
Borrar una Tabla y su estructura
mysql> drop table clientes;
Borrar una base de datos mysql> drop database datos;
Relaciones entre las Tablas
Se crean dos tablas con un campo que se llama factura de tipo int(1), este va ha ser la llave de las tablas por la
cual se van ha relacionar.Para poder mostrar tablas con datos que las relacionan podemos hacerlo mediante el
siguiente comando select:
mysql> select cabecera.nombre,detalle.remedio from cabecera,detalle where
-> cabecera.factura=1 and detalle.factura=1;
+--------+------------+
| nombre | remedio |
+--------+------------+
| pablo | mejoral |
| pablo | aspirina |
| pablo | vitamina c |
| pablo | cebion |
+--------+------------+
los campos que relacionan estas tablas son el número de la factura
Otra forma puede ser:
select cabecera.nombre,detalle.remedio from cabecera,detalle where
-> cabecera.factura=detalle.factura;
esto mostrara todos los campos en orden de relación.
+--------+------------+
| nombre | remedio |
+--------+------------+
| pablo | mejoral |
| pablo | aspirina |
| pablo | vitamina c |
| pablo | cebion |
| juan | complejo B |
| juan | contrex |
| juan | mentol |
+--------+------------+
7 rows in set (0.00 sec)
COMO CREAR UNA BASE DE DATOS EN MY SQL
Creando una base de datos
El nombre de nuestra base de datos será Videoteca. Crearemos nuestra base de datos dando al enlace
que pone .Ahora se nos abrirá una nueva ventana, donde abajo del todo veremos “Crear una base de
datos”, en ella escribiremos el nombre de nuestra nueva base de datos, en este caso: Videoteca.
PD: en lo nombres no podemos escribir caracteres como, comas, acentos, ñ, etc.
Si todo ha ido bien, ahora nos pondrá que ya esta creada.
Crear tablas y campos para la base de datos
En el apartado anterior hemos aprendido a crear una base de datos MySQL, y he creado
una, a la cual la he llamado “Videoteca”. Ahora el siguiente paso seria crear las tablas y los
campos que nos hagan falta para posteriormente meter los datos, y eso es precisamente lo
que vamos a aprender en este tutoria .
Creando una Tabla y sus campos en MySQL
Existen varias formas y programas diferentes para crear una tabla en una base de datos
MySQL, pero lo voy a hacer desde phpMyAdmin, el motivo de hacerlo desde
phpMyAdmin y no de otra forma es porque comúnmente, en todos los servidores ya sean
caseros o de un hosting privados siempre suele tener un phpMyAdmin a mano.
En primer lugar vamos a nuestro phpMyAdmin y seleccionamos la base de datos que
hemos creado anteriormente(Videoteca) como vemos en la siguiente imagen:
Ahora se cargara la base de datos y nos saldrá un mensaje que pone “no se han encontrado
tablas en la base de datos” y más abajo veremos un pequeño formulario para crear nuestra
primera tabla.
En nombre pondremos película y en número de campos pondremos 3.
Ahora damos a continuar y se nos cargara la pagina para crear los campos, en este caso
serán los 3 que hemos puesto antes.
Veremos que tendremos que rellenar varios datos, pero no tenemos que preocuparnos, ya
que explicaremos uno a uno lo que significa.
En Campo, pondremos el nombre del campo.
En Tipo, debemos poner el tipo de datos que se van a incluir en el campo, por ejemplo pondríamos:
o VARCHAR si vamos a incluir un texto inferior a 255 caracteres ejemplo (nombres, DNI,
direcciones).
o TEXT si vamos a incluir un texto más largo de 255 caracteres ejemplo (noticias).
o INT si deseamos escribir exclusivamente números.
o DATE para poner fechas, o DATETIME, si queremos poner hora y fecha.
En Longitud, deberemos de poner el número de caracteres máximo que puede contener dicho
campo, esto no hace falta para todos los tipos de datos, ya que por ejemplo para los de tipo DATE, o
TEXT no hace falta, pero para los INT y VARCHAR es imprescindible.
En Nulo, podemos elegir Null o Not Null dependiendo si queremos que el campo pueda estar vacío
(sin datos) o no.
En predeterminado, podemos poner lo que queramos que se ponga en el campo en el caso de que
no se rellenen los datos o que se rellene de forma incorrecta.
En extra, vemos que podemos seleccionar Auto_Increment, esto nos sirve para llevar un orden de
los datos que tenemos, por ejemplo, creamos un campo llamado id, de tipo INT y le ponemos
auto_increment, de esta forma cada vez que se cree un nuevo dato en este campo se le sumara 1 a la
id anterior, de forma que podremos llevar un pequeño orden.
Ahora que ya mas o menos he explicado para que es cada cosa voy a deciros que debemos
de poner en cada uno de los 3 campos:
Campo 1 Nombre: id_pelicula
Tipo: INT
Nulo: Not Null
Extra: Auto_increment
Y marcamos la llave de Primaria
Campo 2 Nombre: pelicula
Tipo: VARCHAR
Longitud: 30
Nulo: Not Null
Campo 3 Nombre: Director
Tipo: VARCHAR
Longitud: 30
Nulo: Not Null
Explicamos los pasos a seguir para crear la base de datos en MySQL
Por Rubén Alvarez
Antes de abordar los scripts de nuestro sitio, es importante crear la base de datos (BD) que va a ser utilizada
por los mismos. Hemos elegido una base de datos MySQL, entre otras razones, porque se trata del tipo de
base más corrientemente utilizado en combinación con PHP. Por supuesto, podríamos haber utilizado
cualquier otra base para la cual PHP tenga funciones o simplemente crear un DSN y emplear las funciones
para ODBC disponibles en PHP.
Pensamos que el hecho de programar en este lenguaje lleva inherente la necesidad de conocer mínimamente
el funcionamiento de MySQL y que la utilización de cualquier otra BD o método de conexión no conlleva
cambios significativos en los scripts que abordaremos. Veremos pues el caso particular de MySQL y dejamos
a vuestra cuenta aplicar lo visto para cualquier otra base.
En capítulos de otros manuales hemos explicado la instalación y utilización de MySQL y la sintaxis para la
creación de tablas. En este capítulo nos limitaremos a describir paso a paso la creación de la base postal sin
hacer hincapié en el significado de los comandos utilizados.
Pasemos pues a describir uno a uno los pasos a seguir:
1.-Creación de la base de datos Una vez dentro de MySQL, el primer paso es crear la base de datos:
Create database postal;
2.-Creación de las tablas Para la creación de la tabla imagenes, donde almacenaremos los gráficos de las postales, generaremos dos
campos: id_imagen, que es el identificador del grafico, específico para cada uno y cuyo valor corresponde
también con el nombre del archivo gif. El otro campo, tipo, define el objeto de la postal (cumpleaños,
Navidades o San Valentín).
La forma más simple de crear esta tabla sería:
Create Table imagenes
(
id_imagen int(2),
tipo varchar(15)
);
La siguiente tabla a crear, postal, debe guardar toda una serie de datos necesarios para hacer llegar la postal al
destinatario y hacer que el remitente reciba la confirmación de recepción. Veremos cómo actúa cada uno de
esos datos en el script más adelante. Por ahora nos limitaremos a describir la sintaxis de la creación:
Create Table postal
(
id_postal int(5),
texto varchar(255),
email_destinatario varchar(50),
nombre_destinatario varchar(50),
email_remitente varchar(50),
nombre_remitente varchar(50),
id_imagen int(2),
avisar char(7)
);
Para una aplicación más compleja deberíamos definir además las claves y considerar más detenidamente el
tipo de campo a definir. Aconsejamos leer los capítulos del tutorial de SQL donde podréis consejos para
mejorar las prestaciones de las tablas.
3.-Relleno de la tabla imagenes con los gráficos de muestra Para rellenar rápidamente la tabla en un primer momento, sin necesidad de recurrir a sentencias SQL tipo
Insert, podemos crear un archivo de texto con los registros separados por líneas y los valores de campo,
puestos en el buen orden, separados por tabuladores. En el pack de descarga encontraréis el archivo texto
imagenes ya preparado. Lo único que tenéis que hacer es colocar el archivo en el directorio bin de MySQL y
ejecutar la siguiente orden en la base de datos:
Load data local infile "imagenes.txt" into table imagenes;
Con esto tendremos llena la tabla imagenes. Para comprobarlo teclead:
select * from imagenes;
Veréis como aparece en pantalla el contenido de la tabla que obviamente corresponde al del
archivo texto.
COMO EXPORTAR E INPORTAR UNA BASEDE DATOS MY SQL
EXPORTAR:
Hace poco necesitaba exportar una base de datos MYSQL que tengo en mi servidor
localhost, Sin embargo no quería instalar phpmyadmin. mysqldump -h ip_servidor -u
usuario_bd -p basededatos>archivo.sql
Importando la base de datos Si por el contrario ya tenemos nuestro archivo .sql y lo que
queremos es importar nuestra base de datos, debemos hacer lo siguiente: #Nos conectamos
al servidor: mysql -h ip_servidor -u usuario -p #Creamos la base de datos: create database
prueba; #Le decimos al motor cual BD usaremos: use prueba; #Ahora le damos la
ubicacion de nuestro archivo .sql source /home/usuario/Desktop/archivo.sql Con esto
habremos importado con exito nuestra base de datos a otro servidor, cabe aclarar que hay
aplicaciones que hacen mucho mas facil el proceso como (phpmyadmin), pero no esta de
mas saberlo hacer a mano.
Importación:
Importación de base de datos MySQLSi querés importar una base de datos, primero debes
asegurarte de tener la base de datos creada. Luego desde tu panel de control, accedé a
phpMyAdmin y hacé clic en Importar
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.
CONFIGURACION DE MY SQL
•[client]–password = my_password •contraseña general de acceso para los clientes (es aconsejable usar el sistema de autentificación de MySQL)–port = 3306 •puerto dónde se conectaran los clientes (acceso via TCP/IP)–socket = /var/run/mysqld/mysqld.sock •acceso mediante sockets Unix (localhost)Configuración básica de MySQL4Configuración
•[safe_mysqld]–err-log = /var/log/mysql/mysql.err •archivo dónde se registrarán los errores del servidor •[mysqld]–user = mysql •usuario bajo el cual se ejecuta el servidor–pid-file = /var/run/mysqld/mysqld.pid •Fichero en el que el servidor guarda el ID del proceso demonio de escucha (daemon).–socket = /var/run/mysqld/mysqld.sock •Fichero en el que el servidor crear el socket–port = 3306 •Puerto desde donde se aceptaran conexionesConfiguración básica de MySQL5Configuración •[mysqld]–log = /var/log/mysql.log •Archivo donde se registra el log–basedir = /usr •Directorio donde se encuentra MySQL.–datadir = /var/lib/mysql •Directorio donde están los datos–tmpdir = /tmp •Directorio temporal (para crear pej. tablas temporales)–language =/usr/share/mysql/english •Archivo de mensajes–skip-locking •No usar sistema de bloqueo (para hacer chequeos se tendrá que parar el servidor)–skip-networking •No escucha conexiones TCP/IPConfiguración básica de MySQL6Configuración •[mysql.server]–set-variable = key_buffer=16M •tamaño de buffer de los índices–set-variable = max_allowed_packet=1M •tamaño máximo de un paquete. Se tendrá que incrementar si se quiere utilizarcolumnasBLOB grandes.–set-variable = thread_stack=128K •tamaño de cada hilo–set-variable = max_connections=650 •número máximo de conexiones simultáneasConfiguración básica de MySQL7Configuración •[mysql.server]–set-variable= wait_timeout=9600 •segundos que el servidor esperará actividad en conexiones no interactivas antes decerrar–set-variable = connect_timeout=10 •segundos que el servidor esperará un paquete de conexión antes de responder con Bad handshake.–set-variable = max_connect_errors=10 •si hay más de este número de conexiones interrumpidas por el servidor, el servidor es bloqueado–log-slow-queries = /var/log/mysql/mysql-slow.log •registra las consultas lentas–skip-innodb •no utiliza bases de datos tipo innodb