El servidor MySQL tiene un conjunto de caracteres para el servidor y una colación, y ambos deben ser distintos al valor nulo.
MySQL determina el conjunto de caracteres y la colación del servidor con el siguiente procedimiento:
Según las opciones en efecto cuando arranca el servidor
Según los valores cambiados en tiempo de ejecución
A nivel de servidor, la decisión es simple. El conjunto de
caracteres y la colación del servidor dependen inicialmente de
la opción usada al arrancar mysqld. Se puede
usar --default-character-set
para el conjunto
de caracteres y a éste se puede añadir
--default-collation
para la colación. No
especificar un conjunto de caracteres, es como especificar
--default-character-set=latin1
. Especificar
sólo un conjunto de caracteres (por ejemplo,
latin1
) pero no una colación, es como
especificar --default-charset=latin1
--default-collation=latin1_swedish_ci
, ya que
latin1_swedish_ci
es la colación por defecto
para latin1
. Por lo tanto, los siguientes
tres comandos tienen el mismo efecto:
shell> mysqld shell> mysqld --default-character-set=latin1 shell> mysqld --default-character-set=latin1 \ --default-collation=latin1_swedish_ci
Una forma de cambiar la especificación es recompilando. Para
cambiar el conjunto de caracteres por defecto y la colación al
compilar las fuentes, debe utilizarse:
--with-charset
y
--with-collation
como argumentos para
configure. Por ejemplo:
shell> ./configure --with-charset=latin1
O:
shell> ./configure --with-charset=latin1 \ --with-collation=latin1_german1_ci
Tanto mysqld como configure verifican que la combinación del conjunto de caracteres y la colación es válida. Si no lo es, cada programa muestra un mensaje de error y acaba.
El conjunto de caracteres y la colación actuales están
disponibles como los valores de las variables
character_set_server
y
collation_server
. Estas variables pueden
cambiarse en tiempo de ejecución.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.