MySql Administrator Parte 8

 

Continuado com o item de menu Startup Variables:

 

Aba Advanced: A aba advanced nos permite fazer configurações avançadas do MySql, está dividida em cinco seções.

 

Localization

 

Para iniciar esta seção, é muito importante  falar sobre Character Set e Collation, mas antes vou explicar o que significa isso.  Character set é a configuração dos caracteres e seus respectivos códigos, o collation é a configuração de regras para comparação destes caracteres. Suponhamos que temos um quatro letras, “A”, “B”, “a” e “b”, daremos um número a cada letra , “A”= 0, “B”= 1, “a”= 2  e  “b”= 3 então temos o caracter “A” e sua codificação, esta combinação forma o Character Set. Muitos conhecem isso como “código de página” ou tabela ASCII.

 

Suponhamos que queremos comparar ou ordenar duas letras , “A” e “B”, a maneira mais fácil é ver os códigos 0 e 1 respectivamente. Neste caso o que estamos fazendo é aplicar o collation  em nosso character set. Como já disse o collation é a regra de comparação desta codificação.

 

Temos ainda a comparação de letras maiúsculas, de letras minúsculas  e de letras maiúsculas e minúsculas. Para isso existe uma regra dentro do collation que faz uma comparação de equivalência das letras , “A”, “B” e “a”, “b”. Nós conhecemos estas regras como case-sensitive (faz a distinção de maiúsculas e minúsculas) e case-insensitive (não faz esta distinção).

 

Na realidade nos collations existem muitas regras, não só para distinção de letras, mas também de outros símbolos que usamos no dia a dia.

Além disso ainda existem regras para distinção de caracteres acentuados.

 

O MySql oferece vários recursos sobre isso:

 

- Armazena expressões usando vários character set.

- Compara expressões usando vários collations.

- Permite especificar o character set e o collation em vários nível, por exemplo: colunas, 

   tabelas, bancos.

 

Nesse aspect o MySql e muito mais avançado comparado-se com outros sistemas de gerenciamento de banco de dados (SGDB). Entretanto para usar estes recursos efetivamente, exige que o administrador do banco tenha um conhecimento quais character set e collations estão disponíveis, como alterar o character set padrão e o que esta alteração vai causar nos dados já existentes no banco no caso de ocorrer a mudança após algum tempo de uso do banco.

 

Para saber quais os character´s sets estão disponíveis no MySql use o comando SHOW CHARACTER SET.

 

mysql> SHOW CHARACTER SET;

 

+----------+-----------------------------+---------------------+--------+

| Charset  | Description                 | Default collation   | Maxlen |

+----------+-----------------------------+---------------------+--------+

| big5     | Big5 Traditional Chinese    | big5_chinese_ci     |      2 |

| dec8     | DEC West European           | dec8_swedish_ci     |      1 |

| cp850    | DOS West European           | cp850_general_ci    |      1 |

| hp8      | HP West European            | hp8_english_ci      |      1 |

| koi8r    | KOI8-R Relcom Russian       | koi8r_general_ci    |      1 |

| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |

| latin2   | ISO 8859-2 Central European | latin2_general_ci   |      1 |

| swe7     | 7bit Swedish                | swe7_swedish_ci     |      1 |

| ascii    | US ASCII                    | ascii_general_ci    |      1 |

| ujis     | EUC-JP Japanese             | ujis_japanese_ci    |      3 |

| sjis     | Shift-JIS Japanese          | sjis_japanese_ci    |      2 |

| hebrew   | ISO 8859-8 Hebrew           | hebrew_general_ci   |      1 |

| tis620   | TIS620 Thai                 | tis620_thai_ci      |      1 |

| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |

| koi8u    | KOI8-U Ukrainian            | koi8u_general_ci    |      1 |

| gb2312   | GB2312 Simplified Chinese   | gb2312_chinese_ci   |      2 |

| greek    | ISO 8859-7 Greek            | greek_general_ci    |      1 |

| cp1250   | Windows Central European    | cp1250_general_ci   |      1 |

| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |

| latin5   | ISO 8859-9 Turkish          | latin5_turkish_ci   |      1 |

| armscii8 | ARMSCII-8 Armenian          | armscii8_general_ci |      1 |

| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |

| ucs2     | UCS-2 Unicode               | ucs2_general_ci     |      2 |

| cp866    | DOS Russian                 | cp866_general_ci    |      1 |

| keybcs2  | DOS Kamenicky Czech-Slovak  | keybcs2_general_ci  |      1 |

| macce    | Mac Central European        | macce_general_ci    |      1 |

| macroman | Mac West European           | macroman_general_ci |      1 |

| cp852    | DOS Central European        | cp852_general_ci    |      1 |

| latin7   | ISO 8859-13 Baltic          | latin7_general_ci   |      1 |

| cp1251   | Windows Cyrillic            | cp1251_general_ci   |      1 |

| cp1256   | Windows Arabic              | cp1256_general_ci   |      1 |

| cp1257   | Windows Baltic              | cp1257_general_ci   |      1 |

| binary   | Binary pseudo charset       | binary              |      1 |

| geostd8  | GEOSTD8 Georgian            | geostd8_general_ci  |      1 |

| cp932    | SJIS for Windows Japanese   | cp932_japanese_ci   |      2 |

| eucjpms  | UJIS for Windows Japanese   | eucjpms_japanese_ci |      3 |

+----------+-----------------------------+---------------------+--------+

 

 

Para saber quais collations estão disponíveis no MySql use o comando SHOW COLLATIONS.

 

mysql> SHOW CHARACTER SET;

 

+----------------------+----------+-----+---------+----------+---------+

| Collation            | Charset  | Id  | Default | Compiled | Sortlen |

+----------------------+----------+-----+---------+----------+---------+

| big5_chinese_ci      | big5     |   1 | Yes     | Yes      |       1 |

| big5_bin             | big5     |  84 |         | Yes      |       1 |

| dec8_swedish_ci      | dec8     |   3 | Yes     |          |       0 |

| dec8_bin             | dec8     |  69 |         |          |       0 |

| cp850_general_ci     | cp850    |   4 | Yes     |          |       0 |

| cp850_bin            | cp850    |  80 |         |          |       0 |

| hp8_english_ci       | hp8      |   6 | Yes     |          |       0 |

| hp8_bin              | hp8      |  72 |         |          |       0 |

| koi8r_general_ci     | koi8r    |   7 | Yes     |          |       0 |

| koi8r_bin            | koi8r    |  74 |         |          |       0 |

| latin1_german1_ci    | latin1   |   5 |         | Yes      |       1 |

| latin1_swedish_ci    | latin1   |   8 | Yes     | Yes      |       1 |

| latin1_danish_ci     | latin1   |  15 |         | Yes      |       1 |

| latin1_german2_ci    | latin1   |  31 |         | Yes      |       2 |

| latin1_bin           | latin1   |  47 |         | Yes      |       1 |

| latin1_general_ci    | latin1   |  48 |         | Yes      |       1 |

| latin1_general_cs    | latin1   |  49 |         | Yes      |       1 |

| latin1_spanish_ci    | latin1   |  94 |         | Yes      |       1 |

| latin2_czech_cs      | latin2   |   2 |         | Yes      |       4 |

| latin2_general_ci    | latin2   |   9 | Yes     | Yes      |       1 |

| latin2_hungarian_ci  | latin2   |  21 |         | Yes      |       1 |

| latin2_croatian_ci   | latin2   |  27 |         | Yes      |       1 |

| latin2_bin           | latin2   |  77 |         | Yes      |       1 |

| swe7_swedish_ci      | swe7     |  10 | Yes     |          |       0 |

| swe7_bin             | swe7     |  82 |         |          |       0 |

| ascii_general_ci     | ascii    |  11 | Yes     |          |       0 |

| ascii_bin            | ascii    |  65 |         |          |       0 |

| ujis_japanese_ci     | ujis     |  12 | Yes     | Yes      |       1 |

| ujis_bin             | ujis     |  91 |         | Yes      |       1 |

| sjis_japanese_ci     | sjis     |  13 | Yes     | Yes      |       1 |

| sjis_bin             | sjis     |  88 |         | Yes      |       1 |

| hebrew_general_ci    | hebrew   |  16 | Yes     |          |       0 |

| hebrew_bin           | hebrew   |  71 |         |          |       0 |

| tis620_thai_ci       | tis620   |  18 | Yes     | Yes      |       4 |

| tis620_bin           | tis620   |  89 |         | Yes      |       1 |

| euckr_korean_ci      | euckr    |  19 | Yes     | Yes      |       1 |

| euckr_bin            | euckr    |  85 |         | Yes      |       1 |

| koi8u_general_ci     | koi8u    |  22 | Yes     |          |       0 |

| koi8u_bin            | koi8u    |  75 |         |          |       0 |

| gb2312_chinese_ci    | gb2312   |  24 | Yes     | Yes      |       1 |

| gb2312_bin           | gb2312   |  86 |         | Yes      |       1 |

| greek_general_ci     | greek    |  25 | Yes     |          |       0 |

| greek_bin            | greek    |  70 |         |          |       0 |

| cp1250_general_ci    | cp1250   |  26 | Yes     | Yes      |       1 |

| cp1250_czech_cs      | cp1250   |  34 |         | Yes      |       2 |

| cp1250_croatian_ci   | cp1250   |  44 |         | Yes      |       1 |

| cp1250_bin           | cp1250   |  66 |         | Yes      |       1 |

| gbk_chinese_ci       | gbk      |  28 | Yes     | Yes      |       1 |

| gbk_bin              | gbk      |  87 |         | Yes      |       1 |

| latin5_turkish_ci    | latin5   |  30 | Yes     |          |       0 |

| latin5_bin           | latin5   |  78 |         |          |       0 |

| armscii8_general_ci  | armscii8 |  32 | Yes     |          |       0 |

| armscii8_bin         | armscii8 |  64 |         |          |       0 |

| utf8_general_ci      | utf8     |  33 | Yes     | Yes      |       1 |

| utf8_bin             | utf8     |  83 |         | Yes      |       1 |

| utf8_unicode_ci      | utf8     | 192 |         | Yes      |       8 |

| utf8_icelandic_ci    | utf8     | 193 |         | Yes      |       8 |

| utf8_latvian_ci      | utf8     | 194 |         | Yes      |       8 |

| utf8_romanian_ci     | utf8     | 195 |         | Yes      |       8 |

| utf8_slovenian_ci    | utf8     | 196 |         | Yes      |       8 |

| utf8_polish_ci       | utf8     | 197 |         | Yes      |       8 |

| utf8_estonian_ci     | utf8     | 198 |         | Yes      |       8 |

| utf8_spanish_ci      | utf8     | 199 |         | Yes      |       8 |

| utf8_swedish_ci      | utf8     | 200 |         | Yes      |       8 |

| utf8_turkish_ci      | utf8     | 201 |         | Yes      |       8 |

| utf8_czech_ci        | utf8     | 202 |         | Yes      |       8 |

| utf8_danish_ci       | utf8     | 203 |         | Yes      |       8 |

| utf8_lithuanian_ci   | utf8     | 204 |         | Yes      |       8 |

| utf8_slovak_ci       | utf8     | 205 |         | Yes      |       8 |

| utf8_spanish2_ci     | utf8     | 206 |         | Yes      |       8 |

| utf8_roman_ci        | utf8     | 207 |         | Yes      |       8 |

| utf8_persian_ci      | utf8     | 208 |         | Yes      |       8 |

| utf8_esperanto_ci    | utf8     | 209 |         | Yes      |       8 |

| utf8_hungarian_ci    | utf8     | 210 |         | Yes      |       8 |

| ucs2_general_ci      | ucs2     |  35 | Yes     | Yes      |       1 |

| ucs2_bin             | ucs2     |  90 |         | Yes      |       1 |

| ucs2_unicode_ci      | ucs2     | 128 |         | Yes      |       8 |

| ucs2_icelandic_ci    | ucs2     | 129 |         | Yes      |       8 |

| ucs2_latvian_ci      | ucs2     | 130 |         | Yes      |       8 |

| ucs2_romanian_ci     | ucs2     | 131 |         | Yes      |       8 |

| ucs2_slovenian_ci    | ucs2     | 132 |         | Yes      |       8 |

| ucs2_polish_ci       | ucs2     | 133 |         | Yes      |       8 |

| ucs2_estonian_ci     | ucs2     | 134 |         | Yes      |       8 |

| ucs2_spanish_ci      | ucs2     | 135 |         | Yes      |       8 |

| ucs2_swedish_ci      | ucs2     | 136 |         | Yes      |       8 |

| ucs2_turkish_ci      | ucs2     | 137 |         | Yes      |       8 |

| ucs2_czech_ci        | ucs2     | 138 |         | Yes      |       8 |

| ucs2_danish_ci       | ucs2     | 139 |         | Yes      |       8 |

| ucs2_lithuanian_ci   | ucs2     | 140 |         | Yes      |       8 |

| ucs2_slovak_ci       | ucs2     | 141 |         | Yes      |       8 |

| ucs2_spanish2_ci     | ucs2     | 142 |         | Yes      |       8 |

| ucs2_roman_ci        | ucs2     | 143 |         | Yes      |       8 |

| ucs2_persian_ci      | ucs2     | 144 |         | Yes      |       8 |

| ucs2_esperanto_ci    | ucs2     | 145 |         | Yes      |       8 |

| ucs2_hungarian_ci    | ucs2     | 146 |         | Yes      |       8 |

| cp866_general_ci     | cp866    |  36 | Yes     |          |       0 |

| cp866_bin            | cp866    |  68 |         |          |       0 |

| keybcs2_general_ci   | keybcs2  |  37 | Yes     |          |       0 |

| keybcs2_bin          | keybcs2  |  73 |         |          |       0 |

| macce_general_ci     | macce    |  38 | Yes     |          |       0 |

| macce_bin            | macce    |  43 |         |          |       0 |

| macroman_general_ci  | macroman |  39 | Yes     |          |       0 |

| macroman_bin         | macroman |  53 |         |          |       0 |

| cp852_general_ci     | cp852    |  40 | Yes     |          |       0 |

| cp852_bin            | cp852    |  81 |         |          |       0 |

| latin7_estonian_cs   | latin7   |  20 |         |          |       0 |

| latin7_general_ci    | latin7   |  41 | Yes     |          |       0 |

| latin7_general_cs    | latin7   |  42 |         |          |       0 |

| latin7_bin           | latin7   |  79 |         |          |       0 |

| cp1251_bulgarian_ci  | cp1251   |  14 |         |          |       0 |

| cp1251_ukrainian_ci  | cp1251   |  23 |         |          |       0 |

| cp1251_bin           | cp1251   |  50 |         |          |       0 |

| cp1251_general_ci    | cp1251   |  51 | Yes     |          |       0 |

| cp1251_general_cs    | cp1251   |  52 |         |          |       0 |

| cp1256_general_ci    | cp1256   |  57 | Yes     |          |       0 |

| cp1256_bin           | cp1256   |  67 |         |          |       0 |

| cp1257_lithuanian_ci | cp1257   |  29 |         |          |       0 |

| cp1257_bin           | cp1257   |  58 |         |          |       0 |

| cp1257_general_ci    | cp1257   |  59 | Yes     |          |       0 |

| binary               | binary   |  63 | Yes     | Yes      |       1 |

| geostd8_general_ci   | geostd8  |  92 | Yes     |          |       0 |

| geostd8_bin          | geostd8  |  93 |         |          |       0 |

| cp932_japanese_ci    | cp932    |  95 | Yes     | Yes      |       1 |

| cp932_bin            | cp932    |  96 |         | Yes      |       1 |

| eucjpms_japanese_ci  | eucjpms  |  97 | Yes     | Yes      |       1 |

| eucjpms_bin          | eucjpms  |  98 |         | Yes      |       1 |

+----------------------+----------+-----+---------+----------+---------+

Espero que tenham entendido melhor sobre character set e collations

 

Agora vamos falar sobre as opção da seção localization

 

Language: Esta configuração nos permite alterar o idioma das mensagens de erro. Quando instalamos o MySql com opção de instalação completa o instalador cria uma Share dentro da pasta do MySql, na pasta Share existem várias pastas com os idiomas disponíveis, e dentro destas pastas existe o arquivo errmsg.sys. Então para fazer esta alteração basta colocar o caminho completo de onde se encontra o arquivo de configuração. Ex: c:\Mysql\share\portuguese.

Nota: Nos testes realizados para fazer este artigo utilizei  o seguinte caminho: “C:\Arquivos de programas\MySQL\MySQL Server 5.0\share\portuguese” e ao iniciar reiniciar o Mysql ocorreu um erro informando que o caminho não havia sido encontrado, e foi-me apresentado na mensagem de erro o caminho: “C:\Arquivos de programas\MySQL\MySQL Server 5.0 hare\portuguese”, então tive que colocar o caminho “C:\Arquivos de programas\MySQL\MySQL Server 5.0\\share\portuguese”,  com duas barras para funcionar.

 

Def. Char. Set: Configura character set padrão

 

Default Collation: Configura o collation padrão

 

Charsets directory: Este opção permite informar o caminho onde está localizado o character set. Na pasta Share além das pastas com os nomes de idiomas para as mensagens de erro, existe também a pasta “charsets”, onde se encontram os arquivos referentes à configuração dos caracteres.