# PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — Conectarse a bases de datos de MySQL

### Descripción

El Nombre de Origen de Datos (DSN) de PDO_MYSQL está compuesto por los siguientes elementos:

prefijo DSN

  El prefijo DSN es `mysql:`.

`host`

  El nombre del equipo anfitrión donde reside el servidor de bases de datos.

`port`

  El número de puerto que el servidor de bases de datos está escuchando.

`dbname`

  El nombre de la base de datos.

`unix_socket`

  El socket Unix de MySQL (no debe usarse con `host` o `port`).

`charset`

  El conjunto de caracteres. Véase la documentación sobre los conceptos de conjuntos de caracteres para más información.

  Antes de PHP 5.3.6, este elemento era ignorado de forma silenciosa. Se puede replicar el mismo comportamiento parcialmente con la opción `PDO::MYSQL_ATTR_INIT_COMMAND` del controlador, como muestra el siguiente ejemplo.

  Advertencia

  El método del siguiente ejemplo sólo puede usarse con juegos de caracteres que compartan una misma represntación ASCII de los 7 últimos bits, como ISO-8859-1 o UTF-8. Los usuarios que utilicen juegos de caracteres con representaciones distintas (como UTF-16 o Big5) deben usar la opción `charset` que ofrece la versión 5.3.6 de PHP y posterior.

  Ejemplo #1 Establecer el juego de caracteres de la conexión a UTF-8, antes de PHP 5.3.6

  `<?php
  $dsn = 'mysql:host=localhost;dbname=testdb';
  $nombre_usuario = 'nombre_usuario';
  $contraseña = 'contraseña';
  $opciones = array(
  PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
  );
  $gbd = new PDO($dsn, $nombre_usuario, $contraseña, $opciones);
  ?>`

### Historial de cambios

Versión | Descripción
--- | ---
5.3.6 | Antes de la versión 5.3.6, `charset` era ignorado.

### Ejemplos

Ejemplo #2 ejemplos PDO_MYSQL DSN

El siguiente ejemplo muestra un DSN de PDO_MYSQL para conectarse a una base de datos de MySQL:

    mysql:host=localhost;dbname=testdb

Más ejemplos completos:

    mysql:host=localhost;port=3307;dbname=testdb
    mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

### Notas

> Nota: Unix solamente:

> Cuando el nombre de equipo anfitrión está definido como `"localhost"`, la conexión al servidor se realiza a través de un socket de dominio. Si PDO_MYSQL se compila para libmysqlclient, entonces la ubicación del fichero del socket será la ubicación donde se compiló libmysqlclient. Si PDO_MYSQL se compila para mysqlnd, se puede establecer un socket predeterminado a través del ajuste pdo_mysql.default_socket.