Trabajar con MySQL desde la línea de comando. Instalación automática de MySQL en Windows Ejecute mysql desde la línea de comandos de Linux

Iniciar y detener el servidor MySQL desde la línea de comando

Puede iniciar manualmente el servidor MySQL de dos maneras:

Haga doble clic en el archivo mysqld-nt.exe ubicado en el subdirectorio bin del directorio donde está instalado MySQL.

Abra una ventana del símbolo del sistema de Windows. Para hacer esto, haga clic en el botón Inicio, seleccione Ejecutar en el menú, en la ventana Ejecutar un programa que aparece, en el campo Abrir, ingrese el comando cmd y haga clic en Aceptar. Aparecerá una ventana de línea de comando en la pantalla (Fig. 1.25).

Arroz. 1.25. Ventana del símbolo del sistema


En el símbolo del sistema, ingrese el comando

mysqld-nt

y presione Entrar. Se iniciará el servidor MySQL.

Si, al configurar el servidor, la ruta al subdirectorio bin no se agregó al valor de la variable del sistema Ruta, entonces para iniciar el servidor debe ingresar no solo el nombre del archivo, sino también la ruta completa, por ejemplo :

C:\Archivos de programa\MySQL\MySQL Server 5.0\bin\mysqld-nt

Si desea ver mensajes de diagnóstico sobre el servidor en la ventana del símbolo del sistema, en lugar de mysqld-nt, ingrese

mysqld-nt –consola

¡Atención!

Si no especificó una contraseña de usuario root al configurar el servidor MySQL, debe establecer una contraseña la primera vez que inicie el servidor (de lo contrario, cualquiera puede administrar el servidor como root sin contraseña).

Para configurar la contraseña de root, abra una nueva ventana del símbolo del sistema e ingrese el siguiente comando:

mysqladmin -u contraseña raíz<пароль>

(o C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u contraseña de root<пароль>, si la ruta al subdirectorio bin no se agregó a la variable del sistema Ruta al configurar el servidor) y presione Entrar.

En el futuro, si necesita cambiar la contraseña del usuario root, ejecute el mismo comando, solo usando la opción -r:

mysqladmin -u raíz -p contraseña<новый пароль>

Cuando aparezca el mensaje Ingresar contraseña, ingrese su contraseña anterior y presione Entrar.

Finalmente, si necesita detener el servidor MySQL, ejecute el comando

mysqladmin -u raíz -p apagar

y cuando se le solicite Ingresar contraseña, ingrese la contraseña del usuario raíz. Presione Entrar. El servidor MySQL se detendrá.

También puede utilizar la utilidad gráfica MySQL Administrator para iniciar y detener el servidor MySQL.

Iniciar y detener el servidor MySQL usando el Administrador MySQL

Para iniciar el servidor MySQL usando la utilidad gráfica MySQL Administrator, siga estos pasos.

1. Inicie el programa Administrador de MySQL (Inicio → Todos los programas → MySQL → Administrador de MySQL). Aparecerá una ventana de conexión al servidor en la pantalla (Fig. 1.26).

Arroz. 1.26.


2. Mantenga presionada la tecla Ctrl y haga clic en el botón Omitir que aparece en la esquina inferior derecha de la ventana en lugar del botón Cancelar. La ventana principal del Administrador de MySQL aparecerá en la pantalla (Fig. 1.27).

Arroz. 1.27. Ventana principal del administrador MySQL


4. Si el servidor MySQL no se ha configurado como un servicio de Windows, el botón Iniciar servicio ubicado en el panel derecho de la ventana aparece atenuado. Se deben tomar los siguientes pasos preliminares:

1) Vaya a la pestaña Configurar servicio. Busque el botón Instalar nuevo servicio en la parte inferior de la pestaña y haga clic en él;

2) en el cuadro de diálogo que aparece, especifique el nombre del servicio y haga clic en Aceptar;

3) en el campo Nombre de archivo de configuración, ingrese la ruta al archivo de configuración my.ini (Fig. 1.28), por ejemplo C:\Program Files\MySQL\MySQL Server 5.0\my.ini. El color de fuente rojo significa que no se encontró el archivo; si el color cambia a normal, entonces la ruta es correcta;

4) en el campo Ruta al binario, ingrese la ruta al archivo mysqld-nt.exe, por ejemplo C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) regrese a la pestaña Iniciar/Detener servicio.

Arroz. 1.28. Ficha Configurar servicio 5. Haga clic en el botón Iniciar servicio. Se iniciará el servidor MySQL.


¡Atención!

Si no especificó una contraseña de usuario root al configurar el servidor MySQL, debe configurarla la primera vez que inicie el servidor (de lo contrario, cualquiera puede administrar el servidor como root sin contraseña). En la versión actual de MySQL Administrator, la configuración de la contraseña de root no está disponible y para realizar esta operación debe utilizar la utilidad de línea de comandos mysqladmin (consulte la subsección “Iniciar y detener el servidor MySQL desde la línea de comandos”).

Para detener el servidor MySQL usando MySQL Administrator, siga estos pasos.

1. Inicie el programa Administrador de MySQL (Inicio → Todos los programas → MySQL → Administrador de MySQL). Aparecerá una ventana de conexión al servidor en la pantalla (ver Figura 1.26).

Host del servidor: valor localhost (computadora local);

Puerto: número de puerto seleccionado al configurar el servidor (predeterminado: 3306);

Nombre de uso – valor raíz;

Contraseña: contraseña del usuario root. Haga clic en Aceptar.

3. En la ventana principal del Administrador de MySQL, en el panel izquierdo, haga clic en Control de servicio.

4. En el panel derecho de la ventana, haga clic en el botón Detener servicio. El servidor MySQL se detendrá.

En la siguiente subsección, aprenderá cómo iniciar un servidor MySQL utilizando las herramientas administrativas de Windows.

Iniciar y detener el servidor MySQL desde el panel de control

Si el servidor MySQL se configuró como un servicio de Windows usando el asistente de configuración (consulte la subsección "Configuración del servidor MySQL") o usando la utilidad Administrador de MySQL (consulte la subsección "Iniciar y detener el servidor MySQL usando el Administrador MySQL"), inicie y detenga Puede utilizar el componente Servicios del Panel de control.

Para acceder al componente Servicios, haga clic en el botón Inicio, seleccione Panel de control en el menú, luego haga doble clic en Herramientas administrativas en el Panel de control y, finalmente, haga doble clic en Servicios en la ventana Herramientas administrativas. La ventana Servicios aparecerá en la pantalla (Fig. 1.29) con una lista de todos los servicios locales.

Arroz. 1.29. Servicio MySQL en el panel de control.


En la ventana Servicios, haga clic en el nombre del servicio MySQL (el nombre se determina al crear el servicio en el asistente de configuración o en MySQL Administrator). Luego haga clic en el enlace deseado debajo del nombre del servicio: Iniciar servicio, Detener servicio o Reiniciar servicio.

Una vez que el servidor MySQL se esté ejecutando, podrá conectarse a él. En las siguientes subsecciones aprenderá cómo hacer esto.

Conexión al servidor desde la línea de comando

Para conectarse al servidor MySQL desde la línea de comando, siga estos pasos.

1. Abra una ventana del símbolo del sistema de Windows. Para hacer esto, haga clic en el botón Inicio, seleccione Ejecutar en el menú, en la ventana Ejecutar un programa que aparece, ingrese cmd en el campo Abrir y haga clic en Aceptar.

2. En la línea de comando (ver Figura 1.25), ingrese el comando

mysql-h<Имя компьютера>-tú<Имя пользователя>-pag

(Dónde<Имя компьютера>es el nombre de la computadora en la que se ejecuta el servidor) y presione Enter. Cuando se le solicite Ingresar contraseña, ingrese la contraseña del usuario.

Si necesita conectarse a un servidor MySQL que se ejecuta en la misma computadora, se puede omitir el nombre de la computadora (localhost), por ejemplo

mysql -u raíz -p

Después de conectarse al servidor, la línea de comando cambiará a mysql> (Figura 1.30). Ahora puedes empezar a trabajar con la base de datos: agregar tablas, ingresar y consultar datos, registrar nuevos usuarios, etc.

Arroz. 1.30. Conexión al servidor MySQL desde la línea de comando


Para desconectarse del servidor, simplemente escriba el comando en la línea de comando

y presione Entrar.

Una forma alternativa de conectarse al servidor MySQL la proporciona la utilidad gráfica MySQL Query Browser.

Conexión al servidor mediante MySQL Query Browser

La utilidad MySQL Query Browser es una interfaz para crear, editar y ejecutar declaraciones SQL. Es más conveniente que la línea de comando. Si decide utilizar MySQL Query Browser para trabajar con la base de datos, siga estos pasos para conectarse al servidor.

1. Inicie el programa MySQL Query Browser (Inicio → Todos los programas → MySQL → MySQL Query Browser). Aparecerá una ventana de conexión al servidor en la pantalla (Fig. 1.31).

Arroz. 1.31. Ventana de conexión del servidor MySQL


2. En los campos de la ventana de conexión del servidor, ingrese los parámetros de conexión:

Host del servidor: el nombre de la computadora en la que se ejecuta el servidor MySQL;

Puerto: número de puerto seleccionado al configurar el servidor (predeterminado: 330 6);

Nombre de usuario – nombre de usuario;

Contraseña – contraseña de usuario;

Esquema predeterminado: el nombre de la base de datos con la que trabajará (puede ser una base de datos existente o una nueva).

3. Haga clic en Aceptar. Si ingresó un nombre para la nueva base de datos, en el cuadro de diálogo que aparece, haga clic en Sí para crear esta base de datos.

Después de conectarse al servidor, aparecerá la ventana principal de MySQL Query Browser en la pantalla (Fig. 1.32). En él podrás realizar cualquier operación con la base de datos: añadir tablas, introducir y consultar datos, registrar nuevos usuarios, etc.

Arroz. 1.32. Ventana principal del navegador de consultas MySQL


¡Atención!

La fuente predeterminada utilizada en MySQL Query Browser para mostrar consultas SQL no admite letras rusas. Para ingresar letras rusas en los textos de consulta, debe seleccionar una fuente diferente (por ejemplo, Arial o Book Antiqua). Para hacer esto, en la ventana principal de MySQL Query Browser, abra el menú Herramientas y seleccione Opciones. En la ventana Opciones que aparece, en el área izquierda, haga clic en Opciones generales y en el área derecha, en el campo Fuente de código, seleccione la fuente deseada de la lista. Haga clic en el botón Aplicar.

Para desconectarse del servidor, simplemente cierre la ventana del Explorador de consultas MySQL.

Con esto concluye nuestra introducción a MySQL y pasamos a resumir los resultados.

1.6. Resumen

Este capítulo examinó el DBMS MySQL y las utilidades gráficas MySQL Administrator y MySQL Query Browser. Dominó un procedimiento bastante complejo para instalar y configurar un servidor MySQL, aprendió a administrar el servidor y conectarse a él. También aprendió cómo funciona una base de datos relacional y cómo diseñar su propia base de datos.

Entonces, el siguiente paso es crear una base de datos en MySQL. A esto está dedicado el segundo capítulo. Le mostrará cómo crear tablas, ingresar información en ellas y encontrar la información que necesita en la base de datos.

Capitulo 2
Manejo de Bases de Datos con SQL

En este capítulo, aprenderá cómo trabajar con datos en MySQL DBMS, cómo determinar su estructura y cómo agregar, cambiar y eliminar datos. Estas operaciones se realizan mediante SQL, un lenguaje de consulta estructurado universal que es un medio estándar para acceder a bases de datos relacionales.

Puede utilizar cualquiera de las muchas aplicaciones cliente del servidor MySQL para ejecutar comandos SQL. Este capítulo no cubrirá aplicaciones de terceros. Sólo se le presentarán las aplicaciones creadas por MySQL AB: la utilidad de línea de comandos mysql y la utilidad gráfica MySQL Query Browser.

Todas las operaciones de datos están disponibles en ambas utilidades. MySQL Query Browser es conveniente para trabajar con la base de datos: sus componentes se presentan claramente, puede editar datos directamente (sin usar el operador SQL UPDATE), trabajar con consultas, por ejemplo, compilarlas usando una herramienta especial (y no necesita para ingresar los nombres de tablas y columnas manualmente), guardar consultas en un archivo, exportar resultados de consultas y mucho más. Puede conocer todas las capacidades de MySQL Query Browser consultando la documentación en ruso, que se puede encontrar en http://dev.mysql.com/doc/query-browser/ru/index.html.

Primero aprenderá cómo ejecutar comandos SQL en MySQL Query Browser y la línea de comandos, y luego cubriremos solo la sintaxis de los comandos SQL.

2.1. Ejecutar comandos SQL

Antes de ejecutar comandos SQL, debe conectarse a un servidor MySQL en ejecución (cómo hacerlo se describió en el Capítulo 1). En esta sección, aprenderá cómo crear comandos SQL y enviarlos al servidor para su ejecución.

Si está utilizando la línea de comando, para ejecutar el comando SQL, ingrese su texto en la ventana de la línea de comando y presione la tecla Enter para enviar el comando al servidor. Para evitar problemas con la codificación de datos en ruso, antes de comenzar a trabajar con los datos, ejecute el comando

ESTABLECER NOMBRES cp866;

Puedes ver el resultado de ejecutar este comando en la Fig. 2.1.

Arroz. 2.1. Configurar la codificación en la línea de comando


El comando SET NAMES debe repetirse cuando todos conectarse al servidor mediante la línea de comando. Este comando le dice al servidor que esta aplicación cliente (utilidad mysql) usa codificación CP-866 (esta es la codificación de la línea de comando de Windows), y el servidor realizará automáticamente la conversión de codificación cuando se comunique con la aplicación cliente.

Después de cambiar la codificación, puede ingresar cualquier comando SQL en la línea de comando. Un mensaje sobre el resultado del comando, así como los datos solicitados, se muestra directamente en la ventana de la línea de comando (Fig. 2.2).

Arroz. 2.2. Ejecutar una consulta SQL en la línea de comando


La utilidad mysql le permite ingresar comandos de varias líneas (en la Fig. 2.3, el comando MOSTRAR BASES DE DATOS se ingresó de esta manera). Si no se ingresa un punto y coma como señal del final del comando, cuando presiona la tecla Intro, la utilidad no envía el comando al servidor, pero le solicita que continúe ingresando el comando. Si desea cancelar un comando de varias líneas, escriba \c (Figura 2.3).

Arroz. 2.3. Comando multilínea


Si utiliza MySQL Query Browser, no necesita configurar la codificación; este programa funciona en codificación UTF-8 y él mismo informa esto al servidor. Sin embargo, en MySQL Query Browser hay un problema al mostrar letras rusas en el área de consulta (el área donde se ingresa el texto de los comandos SQL, Fig. 2.4). Para resolver este problema, necesita cambiar la fuente utilizada en el área de consulta (cómo hacerlo se describió al final del capítulo anterior). Sólo necesitas cambiar la fuente una vez.

Arroz. 2.4. Ejecutar una consulta SQL en el navegador de consultas MySQL


En el área de consulta, puede ingresar varios comandos SQL a la vez, como se muestra en la Figura. 2.4. El comando actual (el cursor está en una de sus líneas) está resaltado con un fondo blanco, los comandos restantes se muestran sobre un fondo gris claro. Para ejecutar el comando actual, puede hacer clic en el botón Ejecutar ubicado a la derecha del área de solicitud o en la combinación de teclas Ctrl+Entrar. Después de ejecutar el comando, los datos solicitados se muestran en el área de resultados y se muestra un mensaje sobre el resultado del comando en la parte inferior de esta área.

Ahora que ha aprendido a ingresar comandos SQL, comencemos a administrar datos usando estos comandos. En primer lugar, veremos los comandos diseñados para funcionar con la base de datos en su conjunto.

2.2. Creación de base de datos

En esta sección, aprenderá cómo crear y eliminar una base de datos, cambiar la codificación predeterminada, seleccionar la base de datos actual y también ver una lista de todas las bases de datos en un servidor MySQL determinado.

Para crear una base de datos, ejecute el comando

CREAR BASE DE DATOS<Имя базы данных>;

Por ejemplo, el comando

CREAR BASE DE DATOS Departamento de Ventas;

crea una base de datos llamada SalesDept.

Si por alguna razón necesita establecer una codificación predeterminada para una nueva base de datos que difiere de la codificación especificada al configurar MySQL, al crear la base de datos puede especificar la codificación deseada (juego de caracteres) y/o la regla de comparación (clasificación) para valores de caracteres:

CREAR BASE DE DATOS<Имя базы данных>

CONJUNTO DE CARACTERES<Имя кодировки>

COTEJAR<Имя правила сравнения>;

Por ejemplo, si importa datos a una nueva base de datos que está en la codificación CP-1251, entonces indicaremos esta codificación al crear la base de datos de esta manera:

CREAR BASE DE DATOS Departamento de Ventas

CONJUNTO DE CARACTERES cp1251 COLABORAR cp1251_general_ci;

Consejo

Para ver la lista de codificaciones utilizadas en MySQL, ejecute el comando SHOW CHARACTER SET; y para ver una lista de reglas para comparar valores simbólicos, use el comando MOSTRAR COLLACIÓN;. En este caso, puede utilizar el operador LIKE: por ejemplo, para ver todas las reglas de comparación para la codificación CP-1251, ejecute el comando SHOW COLLATION LIKE %1251%;. La terminación “_ci” (no distingue entre mayúsculas y minúsculas) en el nombre de las reglas de comparación significa que al comparar y ordenar no se tiene en cuenta el caso de los caracteres, la terminación “_cs” (distingue entre mayúsculas y minúsculas) – se tiene en cuenta entre mayúsculas y minúsculas, la terminación “_bin” (binario): la comparación y clasificación se realizan mediante códigos de caracteres numéricos. Para la mayoría de las reglas de comparación, puede encontrar una descripción (es decir, el orden de los caracteres según el cual se ordenarán los valores del texto) en la página web http://www.collation-charts.org/mysql60/.

La codificación especificada al crear la base de datos se utilizará de forma predeterminada para las tablas de esta base de datos; sin embargo, puede especificar una codificación diferente.

Puede cambiar la codificación y/o regla de comparación de valores de caracteres para la base de datos usando el comando

ALTERAR BASE DE DATOS<Имя базы данных>

CONJUNTO DE CARACTERES<Имя кодировки>

COTEJAR<Имя правила сравнения>;

En este caso, la codificación utilizada en las tablas de bases de datos existentes sigue siendo la misma; Solo cambia la codificación predeterminada para las tablas recién creadas.

Para eliminar una base de datos innecesaria o creada erróneamente, ejecute el comando

SOLTAR BASE DE DATOS<Имя базы данных>;

¡Atención!

Eliminar una base de datos es una operación muy importante porque elimina todas las tablas de la base de datos y los datos almacenados en las tablas. Se recomienda crear una copia de seguridad de la base de datos antes de eliminarla.

Puede seleccionar una de las bases de datos creadas en este servidor MySQL como base de datos actual usando el comando

USAR<Имя базы данных>;

Por ejemplo,:

USE Departamento de Ventas;

Luego puede realizar operaciones en tablas de esa base de datos sin anteponer el nombre de la tabla al nombre de la base de datos. Por ejemplo, para acceder a la tabla Clientes en la base de datos SalesDept, simplemente puede escribir Clientes en lugar de SalesDept.Customers. Al especificar la base de datos actual, puede acceder a tablas en otras bases de datos, pero debe usar el nombre de la base de datos como prefijo. La selección de la base de datos actual se guarda hasta que se desconecte del servidor o hasta que seleccione otra base de datos actual.

Para ver una lista de todas las bases de datos existentes en un servidor MySQL determinado, ejecute el comando

MOSTRAR BASES DE DATOS;

Incluso si aún no ha creado ninguna base de datos, verá tres bases de datos del sistema en la lista resultante.

INFORMACIÓN_SCHEMA es una base de datos de información de la que se puede obtener información sobre todas las demás bases de datos, la estructura de datos en ellas y todo tipo de objetos: tablas, columnas, claves primarias y externas, derechos de acceso, procedimientos almacenados, codificaciones, etc. Esta base de datos está disponible Es de sólo lectura y virtual, lo que significa que no se almacena como un directorio en el disco: toda la información solicitada desde esta base de datos es proporcionada dinámicamente por el servidor MySQL.

Mysql es una base de datos de utilidad utilizada por el servidor MySQL. Almacena información sobre los usuarios registrados y sus derechos de acceso, información de referencia, etc.

La prueba es una base de datos vacía que se puede utilizar para probar cosas o simplemente eliminarla.

Entonces, ha dominado las operaciones básicas realizadas con la base de datos en su conjunto: los comandos CREATE DATABASE (creación), ALTER DATABASE (cambiar), DROP DATABASE (eliminar), USE (seleccione la base de datos actual) y SHOW DATABASES (ver una lista de bases de datos). A continuación veremos las operaciones de tabla. En este caso asumiremos que has seleccionado una base de datos como la actual y estás trabajando con sus tablas.

2.3. Trabajar con tablas

En esta sección, aprenderá cómo crear, modificar y eliminar una tabla, cómo ver la información de la tabla y una lista de todas las tablas en la base de datos actual. Comencemos con el comando más difícil: crear una tabla.

Creando una tabla

Para crear una tabla, ejecute el comando que se muestra en el Listado 2.1.

Listado 2.1. Crear comando de tabla

CREAR MESA<Имя таблицы>

(<Имя столбца 1> <Тип столбца 1> [<Свойства столбца 1>],

<Имя столбца 2> <Тип столбца 2> [<Свойства столбца 2>],

[<Информация о ключевых столбцах и индексах>])

[<Опциональные свойства таблицы>];


Como puede ver, el comando crear tabla puede incluir muchos parámetros, pero muchos de ellos son opcionales (en el Listado 2.1 estos parámetros están entre corchetes). De hecho, para crear una tabla, sólo necesitas especificar su nombre y los nombres y tipos de todas las columnas; Se utilizan otros parámetros si es necesario.

Primero veamos algunos ejemplos que lo ayudarán a dominar el comando CREATE TABLE e inmediatamente, sin estudiar sus numerosos parámetros, comience a crear sus propias tablas (de estructura simple).

Supongamos que estamos construyendo la base de datos que diseñamos en el Capítulo 1. Usando los comandos de la sección anterior, creamos una base de datos de SalesDept vacía y la seleccionamos como la actual. Ahora creemos tres tablas: Clientes, Productos y Pedidos. El Listado 2.2 muestra el comando para crear la tabla Clientes.

Listado 2.2. Comando para crear la tabla Clientes

CREAR TABLA Clientes

(id SERIE,

nombre VARCHAR(100),

teléfono VARCHAR(20),

dirección VARCHAR(150),

clasificación INT,

CLAVE PRIMARIA (id))


Este comando utilizó parámetros: en primer lugar, el nombre de la tabla y, en segundo lugar, los nombres y tipos de las columnas que conformarán la tabla (consulte también la Tabla 1.1 en el Capítulo 1).

Id – identificador de registro. Asignó el tipo SERIAL a esta columna, lo que le permite numerar automáticamente las filas de la tabla. La palabra clave SERIAL significa BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE. Esto significa que se pueden ingresar números enteros grandes (BIGINT) positivos (UNSIGNED) en la columna, mientras que la ausencia de valores indefinidos y duplicados (NO NULL UNIQUE) se controla automáticamente. Si, al agregar una fila a una tabla, no especifica un valor para esta columna, entonces el programa MySQL ingresará el siguiente número de secuencia (AUTO_INCREMENT) en esta columna.

Nota

NULL es una constante que indica la ausencia de un valor. Si una columna contiene un valor NULL, se supone que no hay un valor definido para esa columna (por eso también llamamos NULL un valor nulo). NULL no debe confundirse con la cadena vacía ("") o el número 0. Los valores NULL se tratan de manera diferente: la mayoría de funciones y operadores devuelven NULL si uno de los argumentos es NULL. Por ejemplo, el resultado de la comparación 1 = 1 es un valor verdadero (VERDADERO) y el resultado de la comparación NULL = NULL es un valor indefinido (NULL), es decir, dos valores indefinidos no se consideran iguales.

Nam es el nombre del cliente, teléfono es el número de teléfono y dirección es la dirección. Asignó el tipo VARCHAR a estas columnas porque contendrán valores de caracteres. El número máximo permitido de caracteres en el valor de la columna se indica entre paréntesis.

En tercer lugar, especificó que la columna de identificación sería la clave principal de la tabla al incluir una cláusula PRIMARY KEY (id) en el comando de creación de la tabla.

Cuarto, ha especificado dos parámetros opcionales para esta tabla. El parámetro ENGINE especifica el tipo de tabla. Asignó a la tabla Clientes el tipo InnoDB, ya que solo este tipo garantiza el mantenimiento de la integridad de las relaciones entre tablas (se analizarán más detalles sobre los tipos de tablas en la sección "Propiedades opcionales de la tabla"). El parámetro CHARACTER SET especifica la codificación predeterminada para los datos de la tabla. Debido a que no configuró la codificación por separado para las columnas de nombre, teléfono y dirección, los datos de estas columnas se almacenarán en UTF-8, que es la codificación predeterminada para la tabla Clientes.

El siguiente ejemplo que veremos es el comando de creación de la tabla Productos que se muestra en el Listado 2.3.

Listado 2.3. Comando de creación de tabla de productos

CREAR TABLA Productos

(id SERIE,

descripción VARCHAR(100),

detalles TEXTO,

precio DECIMAL(8,2),

CLAVE PRIMARIA (id))

MOTOR CONJUNTO DE CARACTERES InnoDB utf8;


Este comando es muy similar al comando para crear la tabla Clientes y solo se diferencia en el nombre de la tabla y el conjunto de columnas. Las columnas id (número de producto) y descripción (nombre del producto) de la tabla Productos tienen tipos que ya nos resultan familiares. La columna de detalles es de tipo TEXTO. Es conveniente utilizar este tipo en lugar del tipo VARCHAR si la columna contendrá valores largos: la longitud total de los valores de todas las columnas VARCHAR está limitada a 65,535 bytes para cada tabla, y no hay límite en la longitud total de las columnas de TEXTO. La desventaja del tipo TEXT es la imposibilidad de incluir dichas columnas en la clave externa de una tabla, es decir, de crear una relación entre tablas basada en estas columnas.

La columna de precio es de tipo DECIMAL, diseñada para almacenar cantidades monetarias y otros valores para los cuales es importante evitar errores de redondeo. Hemos indicado dos números entre paréntesis: el primero de ellos determina el número máximo de dígitos en el valor de la columna, el segundo, el número máximo de dígitos después del separador decimal. Es decir, el precio de un producto puede contener hasta seis dígitos en la parte entera (6 = 8–2) y hasta dos dígitos en la parte fraccionaria.

Y finalmente, el último ejemplo es el comando para crear la tabla Pedidos, que se muestra en el Listado 2.4.

Listado 2.4. Comando de creación de tabla de pedidos

CREAR PEDIDOS DE MESA

(id SERIE,

fecha FECHA,

product_id BIGINT SIN FIRMAR NO NULO,

cantidad INT SIN FIRMAR,

cantidad DECIMAL(10,2),

customer_id BIGINT SIN FIRMAR,

CLAVE PRIMARIA (id),

CLAVE EXTRANJERA (id_producto) REFERENCIAS Productos (id)

AL ELIMINAR RESTRICCIÓN AL ACTUALIZAR EN CASCADA,

CLAVE EXTRANJERA (id_cliente) REFERENCIAS Clientes (id)

AL ELIMINAR RESTRICCIÓN AL ACTUALIZAR EN CASCADA)

MOTOR CONJUNTO DE CARACTERES InnoDB utf8;


Una característica especial de la tabla Pedidos es la presencia de claves foráneas: la columna product_id contiene números de producto de la tabla Productos y la columna customer_id contiene números de clientes de la tabla Clientes (consulte también la Tabla 1.2 en el Capítulo 1). Debido a que los números de productos y clientes son números enteros positivos grandes, asignamos las columnas product_id y customer_id para escribir BIGINT UNSIGNED.

A continuación, para garantizar que la integridad de las relaciones se mantenga automáticamente (hablamos de integridad en el Capítulo 1), le dijimos a MySQL a qué clave primaria corresponde cada clave externa. Por lo tanto, la construcción FOREIGN KEY (customer_id) REFERENCES Customers (id) significa que la columna customer_id solo puede contener valores de la columna id de la tabla Customers y valores nulos, y otros valores están prohibidos. Para la columna product_id, establecimos una restricción similar y asignamos la propiedad NOT NULL a esta columna para evitar registrar pedidos con un producto indefinido. Además, indicamos las reglas para mantener la integridad de cada una de las conexiones (también las discutimos en el Capítulo 1). La regla ON DELETE RESTRICT significa que no puede eliminar un registro de cliente si ese cliente tiene un pedido registrado, y no puede eliminar un registro de producto si ese producto fue pedido por alguien. La regla ON UPDATE CASCADE significa que cuando cambia un número de cliente en la tabla Clientes o un número de artículo en la tabla Productos, los cambios correspondientes se realizan en la tabla Pedidos.

Nota

Tenga en cuenta que creamos la tabla Pedidos en último lugar porque las claves primarias en las tablas Clientes y Productos deben crearse antes que las claves externas en la tabla Pedidos que hacen referencia a ellas. Sin embargo, sería posible crear tablas sin claves externas en cualquier orden y luego agregar claves externas usando el comando ALTER TABLE, que veremos en la subsección "Cambiar la estructura de la tabla".

En nuestros ejemplos, analizamos solo algunos de los parámetros del comando de creación de tablas. Ahora enumeraremos todos los parámetros principales que pueden resultarle útiles al crear tablas. En la sección "Tipos de datos en MySQL" hablaremos sobre los tipos de columnas, en la sección "Propiedades de columna" hablaremos sobre la configuración de columnas clave y, finalmente, en la sección "Columnas clave e índices" hablaremos sobre las propiedades de tabla opcionales. .

Tipos de datos en MySQL

Como ya sabe, cuando crea una tabla, debe especificar un tipo de datos para cada columna. MySQL proporciona muchos tipos de datos para almacenar números, fechas/horas y cadenas de caracteres (textos). Además, existen tipos de datos para almacenar objetos espaciales, que no se tratarán en este libro.

Veamos los tipos de datos numéricos.

POCO[(<Количествобитов>)].

Un número de bits que contiene un número específico de bits. Si no se especifica el número de bits, el número consta de un bit.

Un número entero en el rango de -128 a 127 o (si se especifica la propiedad UNSIGNED) de 0 a 255.

BOOL o BOOLEANO.

Son sinónimos del tipo de datos TINYINT(1) (el número entre paréntesis es el número de dígitos que se mostrarán, consulte la nota a continuación). En este caso, un valor distinto de cero se considera verdadero (VERDADERO), un valor cero se considera falso (FALSO).

Un número entero en el rango de -32.768 a 32.767 o (si se especifica la propiedad UNSIGNED) de 0 a 65.535.

Un número entero en el rango de -8.388.608 a 8.388.607 o (si se especifica la propiedad UNSIGNED) de 0 a 16.777.215.

INT o ENTERO.

Un número entero en el rango de -2.147.483.648 a 2.147.483.647 o (si se especifica la propiedad UNSIGNED) de 0 a 4.294.967.295.

Un número entero en el rango de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 o (si se especifica la propiedad UNSIGNED) de 0 a 18.446.744.073 70 9.551.615.

Sinónimo de BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE (un entero grande sin signo que acepta valores únicos incrementados automáticamente; los valores NULL no están permitidos). Se utiliza para generar automáticamente valores únicos en una columna de clave principal. Encontrará una descripción de las propiedades UNSIGNED y AUTO_INCREMENT en esta subsección, y las propiedades NOT NULL y UNIQUE en la sección "Propiedades de columna".

Nota

Para todos los tipos de datos enteros, excepto BOOL (BOOLEAN) y SERIAL, puede especificar entre paréntesis el número de dígitos mostrados, que se utiliza junto con el parámetro ZEROFILL: si el número contiene menos dígitos, cuando se genera, se rellena en el queda con ceros. Por ejemplo, si una columna de la tabla se define como INT(5) ZEROFILL, los valores "1234567" y "12345" se muestran tal cual y el valor "123" se muestra como "00123". Para el tipo de datos BIT, el tamaño del número, es decir, el número máximo de bits almacenados, se indica entre paréntesis.

A continuación se muestra una lista de los comandos más útiles y utilizados con más frecuencia. mysql con ejemplos.

mysql al principio de la línea significa que el comando se ejecuta después de iniciar sesión mysql.

El símbolo # o $ al principio de la línea significa que el comando se ejecuta desde la línea de comando.

Para comprobar el estado del servidor MySQL hacer:

Para FreeBSD:

# servicio estado del servidor mysql

V CentOS/RHEL:

# estado del servicio mysqld

mysql desde la consola si el servidor mysql está en el mismo host:

Para conectarse al servidor mysql desde la consola si el servidor mysql se encuentra en el host remoto db1.example.com:

$ mysql -u nombre de usuario -p -h db1.ejemplo.com

Trabajar con bases de datos y tablas: ver, eliminar y editar registros. Consola

Crear una base de datos en mysql servidor:

mysql crear base de datos

Mostrar una lista de todas las bases de datos en el servidor. mysql:

uso de mysql;

Mostrar todas las tablas de la base de datos:

MySQL muestra tablas;

Ver el formato de la tabla en la base de datos:

describir mysql;

Eliminar base de datos:

Base de datos de caída MySQL;

Eliminar una tabla de la base de datos:

Tabla desplegable de MySQL;

Mostrar todo el contenido de la tabla:

MySQL SELECCIONAR * DESDE;

Mostrar columnas y contenidos de columnas en la tabla seleccionada:

Mysql muestra columnas de ;

Mostrar filas en una tabla específica que contenga "lo que sea":

Mysql SELECT * FROM WHERE = "lo que sea";

Muestra todos los registros en una tabla específica que contiene "Bob" y el número de teléfono "3444444:

Mysql SELECCIONE * DESDE DONDE nombre = "Bob" Y número_teléfono = "3444444";

Mostrar todas las entradas, NO que contiene el nombre "Bob" y el número de teléfono "3444444", ordenados por el campo número de teléfono:

Mysql SELECCIONE * DESDE DONDE nombre! = "Bob" Y número_teléfono = "3444444" orden por número_teléfono;

Muestra todas las entradas que comienzan con las letras "bob" y el número de teléfono "3444444" en una tabla específica:

Mysql SELECCIONE * DESDE DONDE nombre como "Bob %" Y número_teléfono = "3444444";

Muestra todas las entradas que comienzan con las letras "bob" y el número de teléfono "3444444", limitando las entradas de 1 a 5:

Mysql SELECCIONE * DESDE DONDE nombre como "Bob %" Y número_teléfono = "3444444" límite 1,5;

Usar expresiones regulares ("REGEXP BINARY") para buscar registros. Por ejemplo, para una búsqueda que no distinga entre mayúsculas y minúsculas, busque todos los registros que comiencen con la letra A:

Mysql SELECCIONE * DESDE DONDE rec RLIKE "^a";

Mostrar todas las entradas únicas:

MySQL SELECCIONAR DISTINTO DE; mysql SELECT, DE ORDEN POR DESC;

Muestra el número de filas de la tabla:

Mysql SELECCIONE CUENTA(*) DESDE;

Mysql SELECCIONE SUMA(*) DESDE;

Eliminando una columna:

Mysql altera la columna desplegable de la tabla;

Agregar una columna a la base de datos:

Mysql alterar tabla agregar columna varchar (20);

Cambiando el nombre de la columna:

Mysql altera la tabla cambia varchar (50);

Cree una columna con un nombre único para evitar nombres duplicados:

Mysql alterar tabla agregar único();

Cambiar el tamaño de una columna:

Mysql alterar tabla modificar VARCHAR(3);

Eliminar una columna de una tabla:

Mysql altera el índice de caída de la tabla;

Mysql CARGAR ARCHIVO DE DATOS " /tmp/filename.csv " reemplazar EN CAMPOS DE TABLA TERMINADOS POR "," LÍNEAS TERMINADAS POR "n" (campo1, campo2, campo3);

Usuarios del servidor MySQL, contraseñas: agregar, cambiar usuarios y contraseñas. Consola

Crear un nuevo usuario: conectarse al servidor mysql como root, cambiar a la base de datos, agregar usuario, actualizar privilegios:

# mysql -u root -p mysql usa mysql; mysql INSERT INTO usuario (Host,Usuario,Contraseña) VALORES("%"," nombre de usuario ", CONTRASEÑA(" contraseña ")); privilegios de descarga de mysql;

Cambiar la contraseña de usuario desde la consola en el host remoto db1.example.org:

# mysqladmin -u nombre de usuario -h db1.example.org -p contraseña "nueva-contraseña"

Cambiar la contraseña de usuario desde la consola mysql- conectarse como root, actualizar contraseña, actualizar privilegios:

# mysql -u root -p mysql ESTABLECER CONTRASEÑA PARA " usuario "@" nombre de host " = CONTRASEÑA(" contraseña aquí "); privilegios de descarga de mysql;

Recuperar/cambiar la contraseña del servidor raíz mysql- detener mysql, inicie sin tablas de privilegios, conéctese como root, establezca una nueva contraseña, salga y reinicie mysql.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql usa mysql; usuario de actualización de mysql establece contraseña=CONTRASEÑA("nuevacontraseñaroot") donde Usuario="raíz"; MySQL; privilegios de descarga; mysql salir # /etc/init.d/mysql detener # /etc/init.d/mysql iniciar

Establezca una contraseña de root si existe una contraseña de root.

# mysqladmin -u contraseña raíz nuevacontraseña

Actualizar contraseña de root:

# mysqladmin -u root -p contraseña antigua contraseña nueva

Configurar el derecho a conectarse al servidor desde el host localhost con la contraseña "passwd": conectarse a la subroot, cambiar a la base de datos, configurar privilegios, actualizar privilegios:

# mysql -u root -p mysql usa mysql; uso de concesión de mysql en *.* a bob @localhost identificado por "passwd"; privilegios de descarga de mysql;

Configurar privilegios de usuario para usar la base de datos: conectarse como root, cambiar a la base de datos, configurar privilegios, actualizar privilegios:

# mysql -u root -p mysql usa mysql; mysql INSERTAR EN base de datos (Host,Db,Usuario,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALORES ("%","nombre de base de datos","nombre de usuario","Y","Y","Y"," Y","Y","N"); privilegios de descarga de mysql;

Mysql otorga todos los privilegios en el nombre de la base de datos .* al nombre de usuario @localhost; privilegios de descarga de mysql;

Actualización de información en la base de datos:

Mysql UPDATE SET Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" donde = usuario";

Eliminar una fila en una tabla:

Mysql BORRAR de donde = "lo que sea";

Actualización de privilegios en la base de datos:

Privilegios de descarga de MySQL;

Copias de seguridad: creación y restauración de bases de datos. Consola

Cree una copia de seguridad (volcado) de todas las bases de datos en el archivo alldatabases.sql:

# mysqldump -u raíz -p contraseña -opt; /tmp/alldatabases.sql

Haga una copia de seguridad de una base de datos en el archivo nombre de base de datos.sql:

# mysql dump -u nombre de usuario -p contraseña -bases de datos nombre de base de datos; /tmp/nombrebasedatos.sql

Haga una copia de seguridad de una tabla en el archivo nombre de base de datos.nombre de tabla.sql:

# mysql dump -c -u nombre de usuario -p contraseña nombre de base de datos nombre de tabla; /tmp/nombrebasedatos.nombretabla.sql

Restaurar una base de datos (o tabla) desde una copia de seguridad:

# mysql -u nombre de usuario -p contraseña nombre de la base de datos< /tmp/databasename.sql

Creación de tablas de bases de datos. Consola

los nombres de las columnas se indican en letras minúsculas;
Letras MAYÚSCULAS: tipos y atributos de columnas;
entre paréntesis: el valor del tipo de columna.

Crea una tabla, ejemplo 1:

mysql CREAR TABLA (nombre VARCHAR(20), inicial medio VARCHAR(3), apellido VARCHAR(35), sufijo VARCHAR(3), ID de oficina VARCHAR(10), ID de usuario VARCHAR(15), nombre de usuario VARCHAR(8), correo electrónico VARCHAR(35) ), teléfono VARCHAR(25), grupos VARCHAR(15), marca de fecha FECHA, marca de tiempo HORA, pgpemail VARCHAR(255));

Crea una tabla, ejemplo 2:

Mysql crear tabla (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, nombre VARCHAR(35), segundo nombre VARCHAR(50), apellido VARCHAR(50) predeterminado "bato");

Del autor: Chica, ¿tu auto no arranca? ¿Quizás podamos intentarlo “desde el empujador”? ¡Le ayudaré! ¿No sabes cómo es? ¿Solo inició el servidor DBMS a través de cmd? Esto significa que sabes cómo iniciar MySQL a través de la línea de comandos, pero ni siquiera sabes cómo arrancar un coche. ¡Señorita, es usted una rubia “extraña”!

Rarezas en la descripción de MySQL

Al preparar cada artículo, tengo que buscar "a fondo" en Internet en busca de materiales de referencia sobre una u otra disciplina de "construcción de sitios". En su mayor parte, hay muchas guías y tutoriales detallados publicados en Internet, pero no para MySQL.

Por supuesto, los hay educativos dignos, pero la parte principal del DBMS solo proporciona ejemplos de cómo escribir comandos, e incluso sin indicar la sintaxis. En tal situación, es casi imposible para cualquier "tonto" entender, por ejemplo, cómo conectarse a MySQL a través de la línea de comando.

Para encontrar una respuesta para un principiante, tendrá que buscar en una docena de foros temáticos, donde los desarrolladores profesionales (haciéndose pasar por casi "académicos") condescenderán a explicar al menos algo normalmente a un principiante.

Vale la pena entender que un administrador real debe conocer todas las formas de iniciar y trabajar con un servidor de base de datos. Está claro que los shells de software son el método más conveniente, pero es posible que no siempre estén disponibles. Por lo tanto, saber cómo habilitar MySQL a través de la línea de comandos ahorrará más de una vez tanto los datos del sitio como su reputación como especialista (si planea dedicarse al desarrollo web de manera profesional).

Veamos este tema con más detalle. Y por favor, no hagas muecas si algo de lo que se dice en este material te parece tan sencillo como arrancar un coche “con una varilla de empuje”.

iniciar cmd

Para iniciar MySQL desde la línea de comando, primero active la utilidad (cmd), que está incluida en el conjunto estándar de Windows. Puedes hacer esto de varias maneras:

Atajo de teclado Win + R, y luego en el cuadro de diálogo "Ejecutar" que aparece, ingrese cmd

A través del panel Inicio.

Además, MySQL puede venir con un shell nativo. Por ejemplo, si instala un servidor de base de datos en una máquina local como una "aplicación" independiente que no está incluida en el paquete "para caballeros".

La línea de comando nativa de MySQL se inicia como un cmd normal. Las diferencias en el funcionamiento de ambas utilidades aparecerán más adelante. Hablaremos de esto en la siguiente sección.

Trabajar con la línea de comando

Primero, analicemos la utilidad integrada en el sistema operativo. Veamos cómo iniciar MySQL desde la línea de comandos de Windows. Para hacer esto necesitas:

Ruta a la carpeta en el sistema de archivos de la PC donde instaló el servidor de base de datos.

Cuenta de usuario: inicio de sesión y contraseña.

Si está trabajando con Denver, entonces el archivo ejecutable se encuentra en el disco virtual que se crea después de iniciar el servidor local, en esta ruta: Z:\usr\local\mysql-5.5\bin

Como ya dije, la línea de comando MySQL en Denwer se inicia mediante cmd OC. Es decir, primero lo ejecutamos y luego especificamos la ruta al archivo ejecutable DBMS. La contraseña y el inicio de sesión para acceder se pueden especificar primero o más tarde después de activar la utilidad MySQL. En cuanto a mí, es más conveniente registrar todo a la vez: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Iniciamos sesión en el servidor DBMS con derechos de administrador. No tengo una contraseña establecida para root, por lo que no se especifica su valor. Después de haber iniciado MySQL desde la línea de comandos, a continuación aparecerá información de ayuda sobre la versión de la utilidad, el servidor y la identificación de la conexión.

Ahora comprobemos la corrección del procedimiento y la “fortaleza” de nuestros derechos. Por ejemplo, mostremos una lista de todas las tablas que se utilizan actualmente en el servidor:

MOSTRAR MESAS ABIERTAS;

MOSTRAR MESAS ABIERTAS ;

MySQL en la línea de comando de Windows nos proporcionó solo las tablas que forman parte de la base de datos del sistema. Esto se debe a que todos los datos almacenados en él se utilizan en la instancia en ejecución del DBMS. De esta manera sabíamos que el servidor estaba funcionando y que habíamos iniciado sesión con derechos de administrador, como estaba previsto.

El esquema para trabajar con el shell instalado junto con el sistema de gestión de bases de datos es ligeramente diferente. Para "experimentar" todo esto por nosotros mismos, activemos MySQL a través de esta línea de comando.

Después de ejecutarlo, aparece una ventana en la que debe ingresar inmediatamente una contraseña. De lo contrario, todo el proceso de interacción con la utilidad es el mismo.

Trabajar con otras aplicaciones

La composición de un conjunto estándar de herramientas DBMS no se limita a un ejecutable de servidor. Su variedad se puede ver buscando en la misma carpeta donde se encuentra el servidor de la base de datos. Por ejemplo, ejecutemos la utilidad de volcado de MySQL a través de la línea de comando.

Primero, vaya al disco virtual, luego use el comando cd en la carpeta donde está almacenada la utilidad. Permítanme recordarles que está destinado a crear copias de seguridad de bases de datos.

En el siguiente paso, antes de iniciar sesión en MySQL a través de la línea de comando, necesitaremos especificar una cuenta y una contraseña. Ejemplo de uso del comando mysqldump:

mysqldump -uroot world>C:\Users\home\Desktop\dump\copy.sql

Para que el comando funcione correctamente, se debe crear el directorio especificado en el momento de la ejecución. De lo contrario, la utilidad devolverá un mensaje indicando que dicha ruta no existe.

También vale la pena señalar que el usuario de MySQL especificado en la línea de comando debe tener derechos para modificar la base de datos o una cuenta de administrador.

Otras utilidades incluidas en el conjunto estándar se inician de forma similar. Con su ayuda, puede realizar todas las operaciones básicas de administración de DBMS: administrar roles, crear copias de seguridad, editar el contenido de los almacenes. Y también instale el servicio MySQL desde la línea de comando. En general, todo aquello sin lo cual el servidor de la base de datos no se iniciará "desde el pulsador".

Para Win 32, seleccione la distribución: Windows (x86, 32 bits), Archivo Zip.

Para Win 64: Windows (x86, 64 bits), Archivo Zip.

Después de hacer clic en el botón Descargar, verá un formulario de registro; puede omitirlo haciendo clic en el enlace a continuación: No gracias, solo llévame a las descargas..

2. Cree una carpeta de instalación. Por ejemplo . Y descomprima el contenido del archivo en él para que las carpetas bin, datos, documentos y otros estaban en la raíz de la carpeta de instalación.

3. Pasemos a crear un archivo de configuración (my.ini). Tomamos como base uno de los archivos estándar:

  • my-small.ini: adecuado para quienes utilizan MySQL de vez en cuando y no quieren que el servidor consuma muchos recursos.
  • my-medium.ini también es una configuración de bajos recursos, pero es adecuada para quienes usan MySQL de forma continua (una buena opción para un servidor web doméstico).
  • my-large.ini y my-huge.ini: para sistemas utilizados como servidor MySQL dedicado. Sin embargo, my-large.ini se puede utilizar para un servidor doméstico si necesita rendimiento adicional de MySQL (512 MB de RAM no es tanto en estos días).
  • my-innodb-heavy-4G: para servidores dedicados con al menos 4 GB de RAM y que utilizan únicamente tablas InnoDB.

En este ejemplo, elegí my-medium.ini como base. Cambie el nombre a my.ini y colóquelo en la raíz de la carpeta de instalación ( C:\Archivos de programa\MySQL\MySQL Server 5.5).

Ábralo para editar (en el Bloc de notas normal) e inmediatamente después de la línea agregue dos parámetros:

Basedir=C:/Archivos de programa/MySQL/MySQL Server 5.5 datadir=C:/Archivos de programa/MySQL/MySQL Server 5.5/data

Tenga en cuenta que las rutas utilizan barras diagonales (/) en lugar de barras invertidas (\).

basedir es la ruta a la carpeta de instalación.

datadir: ruta a la carpeta de datos (donde se almacenan todas las bases de datos). A veces tiene sentido colocar los datos en un disco separado para mejorar el rendimiento o garantizar la confiabilidad.

Por si acaso, aquí tenéis un fragmento del archivo de configuración después de realizar los cambios:

# El servidor MySQL basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M

4. El siguiente paso es agregar la ruta. C:\Archivos de programa\MySQL\MySQL Server 5.5\bin a la variable de entorno PATH para facilitar el inicio de MySQL desde la línea de comandos. Para hacer esto, abra Propiedades del sistema -> Configuración adicional del sistema -> en la pestaña Avanzado, en la parte inferior, el botón "Variables de entorno...". En la ventana que se abre, desplácese por las variables del sistema hasta encontrar Ruta. Seleccione esta línea y haga clic en "Cambiar...". Al final de la línea agregamos nuestra ruta, conservando los parámetros existentes:

Tenga en cuenta que las rutas están separadas por punto y coma. Asegúrese de que haya un punto y coma al principio y al final de su ruta.

5. Antes de realizar una ejecución de prueba, abra el puerto TCP entrante 3306 en el Firewall de Windows:

Si tiene un firewall adicional instalado en su sistema, también debe abrir el puerto TCP 3306 para las conexiones entrantes.

6. Ahora realizamos una prueba de funcionamiento. En la línea de comando iniciada como administrador (esto es necesario si UAC está habilitado en Seven o Vista), ejecute:

mysqld-consola

Se mostrarán varias líneas en la pantalla. Si el lanzamiento fue exitoso, la última línea se verá así:

Versión: "5.5.9-log" socket: "" puerto: 3306 MySQL Community Server (GPL)

Dejamos abierta esta ventana, y abrimos otra ventana de línea de comando, en la que ingresamos:

mysql -u raíz

Si la conexión fue exitosa, verá un símbolo del sistema: mysql>

Veamos qué bases de datos tenemos:

Mostrar bases de datos;

¡El punto y coma al final de la consulta SQL es OBLIGATORIO!

Respuesta del equipo:

Ahora finalmente estamos convencidos de que el servidor funciona.

7. Pasemos al siguiente paso: debe configurar la contraseña del administrador de MySQL (usuario root). No hay una contraseña establecida de forma predeterminada y esto debe solucionarse. En la misma ventana de MySQL, ingrese los siguientes comandos:

Utilice mysql ACTUALIZAR usuario SET contraseña = CONTRASEÑA("su_contraseña") DONDE usuario = "raíz";

Comprobemos el resultado:

SELECCIONE usuario, host, contraseña DEL usuario;

Como puede ver en la captura de pantalla, la columna de contraseña está completa, lo que significa que se ha establecido la contraseña.

Antes de salir, ejecute el comando:

PRIVILEGIOS DE ENJUAGUE;

Ahora, al conectarse, deberá ingresar una contraseña. Para hacer esto, use el modificador -p:

MySQL -u raíz -p

Para cerrar MySQL ejecute:

Mysqladmin -u root -p apagado

8. El último paso es iniciar MySQL como un servicio del sistema de Windows.

Asegúrese de que no haya procesos MySQL activos en el sistema.

En la línea de comando ejecutándose como administrador, ejecute:

"C:\Archivos de programa\MySQL\MySQL Server 5.5\bin\mysqld" --instalar

¡La ruta a mysqld debe especificarse en su totalidad (incluso si aparece en PATH)!

Para iniciar el servicio, abra "Administración de computadoras" e inicie manualmente el servicio MySQL:

O más fácil a través de la línea de comando:

inicio neto de mysql

Para eliminar un servicio, primero deténgalo:

parada neta mysql

y ejecutar:

"C:\Archivos de programa\MySQL\MySQL Server 5.5\bin\mysqld" --eliminar

Del autor:¿Estás perdido otra vez y no sabes cómo iniciar sesión en MySQL? ¡No eres el primero! Reúne a todos los que están perdidos y ahora vayamos directamente a visitarla. ¿A quién “a ella”? ¡Al DBMS más popular en la World Wide Web!

¿Dónde está ubicado MySQL en Denver?

No se trata de la capital del estado de Colorado en EE.UU., sino de un paquete de software para crear y probar aplicaciones en PHP. El kit para "caballeros" incluye un servidor Apache local, un servidor MySQL y un shell phpMyAdmin. Es con la ayuda de este paquete de software que los "novatos" suelen aprender todas las complejidades de trabajar con este sistema de gestión de bases de datos.

Antes de iniciar sesión en MySQL a través de un navegador, debe iniciar un servidor local, luego escribir localhost en la barra de direcciones y en la ventana que aparece, "¡Hurra, está funcionando!" En la sección de utilidades, seleccione phpMyAdmin.

Después de lo cual se encontrará allí (en phpMyAdmin).

Nos dirigimos a las bases de datos a través del “laberinto”

Usted y yo iremos al bosque "denso" e intentaremos "llevarlo" al servidor de la base de datos. No creas que nos estamos escondiendo de alguien, ahora actuaremos como... ¡Ir!

Antes de iniciar sesión en MySQL a través de la línea de comando, debe averiguar dónde se encuentra el directorio principal del servidor de la base de datos. Si utiliza el DBMS en su forma "pura" sin "impurezas" (fuera del conjunto "de caballero"), entonces la carpeta raíz del servidor se encuentra aquí: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Si está utilizando Denver, entonces el archivo que está buscando se encuentra en esta ruta: Z:\usr\local\mysql-5.5\bin\mysql.exe,

donde Z es el disco virtual que se crea después de iniciar el servidor web local. Es posible que lo tengas con otro nombre (más precisamente, una letra).

Nos interesa el archivo mysql.exe. Ejecutémoslo especificando el nombre del servidor de la base de datos, la contraseña y el usuario con el que iniciaremos sesión en MySQL.

Cómo habilitar MySQL a través de la línea de comando: vaya a "Inicio", seleccione "Símbolo del sistema" de los programas estándar. Lanzamos la utilidad, y a partir de ahora describiremos paso a paso todo el procedimiento de “caminar” por el denso bosque, para que todo el grupo de personas “perdidas” no se vuelva a perder.

En la ventana negra CMD (línea de comando), ingrese la ruta donde está almacenado el archivo ejecutable MySQL y, al lado, indique el nombre de usuario y la contraseña del DBMS. Como tenemos un servidor local, ingresamos el nombre de usuario root sin contraseña después del identificador u.

En realidad, esto es incorrecto y cada usuario del servidor MySQL debe tener una contraseña establecida. Consideraremos todos los problemas de seguridad de DBMS con más detalle en una de nuestras próximas publicaciones.

Aquí está el “código” completo: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Si todo salió bien, entonces la información sobre la versión del servicio en ejecución, el año de lanzamiento y otra información "innecesaria" para nosotros debería aparecer a continuación en la ventana de la línea de comando.

Ahora, para verificar la exactitud de la conexión, ingresaremos una consulta después del operador mysql> que mostrará todas las bases de datos almacenadas en el servidor. Código de solicitud:

mostrar bases de datos;

No olvide poner un punto y coma al final de la solicitud; de lo contrario, el sistema mostrará un mensaje de error. Después de ingresar la consulta y presionar la tecla "Enter", recibimos una lista de todas las bases de datos almacenadas en el servidor DBMS:

Pero esto no es suficiente para nosotros. Profundicemos aún más en la estructura. Veamos cómo iniciar sesión en una base de datos MySQL y obtener una lista de todas sus tablas. Permítanme recordarles que ahora ya estamos autorizados en el servidor, por lo que solo necesitamos ingresar una solicitud más:

mostrar tablas de db1;

mostrar tablas de db1;

db1 es el nombre de la base de datos que necesitamos.

En la captura de pantalla vemos que la base de datos solicitada contiene solo una tabla.

¡Profundicemos más!

Como dicen, el “apetito” viene después de recibir los resultados de la ejecución del código. Por lo tanto, intentaremos profundizar aún más para obtener los datos almacenados en la tabla. Antes de volver a iniciar sesión en MySQL, aquí tienes un ejemplo de una consulta SQL con la que podemos realizar nuestros planes:

SELECCIONAR * DE animal;

SELECCIONAR * DE animal ;

Ingresamos la solicitud, la lanzamos para su ejecución y... Por alguna razón el servidor nos dio un error.

Y todo porque olvidamos decirle a MySQL qué base de datos nos interesa. Entonces el servidor "jura" que ninguna de las bases de datos está asignada. Esto demuestra una vez más que trabajar con un DBMS a través de la línea de comandos es muy diferente a interactuar con él a través de un shell de software.

En phpMySQL, esta consulta se ejecutaría exitosamente y el servidor devolvería una selección de todas las filas contenidas en la tabla solicitada.

Corrijamos nuestra omisión común (siempre es difícil admitir la culpa), y antes de volver a iniciar sesión en MySQL a través de la consola, prepararemos una consulta “específica” con la que apuntaremos al sistema a la base de datos deseada:

USAR db1;

Luego de ingresar esta línea y ejecutarla, el servidor mostrará un mensaje confirmando que se ha asignado la base de datos deseada.

Y ahora ingresemos y ejecutemos una consulta para recuperar todos los datos de la tabla de animales nuevamente. “¡Que haya datos!” - dijo el administrador, y lanzó SELECT. Llegamos al final de db1 y obtuvimos el contenido de la tabla de animales. No en vano, antes de ingresar a la base de datos MySQL, realizamos todo un “ritual” y escribimos el “hechizo” correcto en SQL.

¿Qué más puedes desenterrar?

Profundizamos hasta el fondo de MySQL. Ahora profundicemos un poco hacia un lado. ¿Qué otra información se puede obtener a través de la línea de comando consultando MySQL? ¿Quiere conocer la estructura de la tabla, los tipos de datos de todas las columnas y la clave principal? ¡Por favor! Ejecute esta consulta:

describir animales;

describir animales;

A veces, para saber cómo habilitar el servidor MySQL, es necesario obtener una lista de todos los usuarios registrados del DBMS. Para ello se utiliza la siguiente consulta.