Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Problémy při instalaci aktuelního MySQL

Po letech jsem si nainstaloval MySQL verzi 5.6.14. Co mne překvapilo při instalaci, že to nemělo průvodce, kde by se nainstalovaly parametry serveru a ani se nevytvořil soubor my.ini, aby šel ručně editovat.
Stejně tak v instalační sadě chybí MySQL Server Instance Configuration Wizard a když jsem použil starší stejnojmenný soubor, tak mi to při vytvoření a zápisu my.ini nahlásilo chybu.

Tak jsem si někde na webu našel vzorový my.ini a s tím jsem server spustil. Teď už můžu ten soubor spravovat MySQL administratorem, ale přesto nejsem schopen nastavit češtinu.
Na serveru i na klientovi mám nastavenu utf8 a collation na serveru = utf8_general_ci. Cvičně jsem zkoušel latin 1 i 2 i cp1250 a pořád nic.

Databáze si generuju z MS Access prostřednictvím programu Navicat.

Když se však na takhle vytvořenou databázi podívám ať už z Windows jakýmkoli SQL prohlížečem anebo třeba z iPhone, všude vidím místo některých diakritických znaků otazníky.

Domnívám se, že k problému došlo asi tím, že nemám ten defaultně vytvořený my.ini.

Jinak jsem zkoušel si nainstalovat MySQL i jiným způsobem a to prostřednictvím nějaké portable verze XAMPP a tam mi ta čeština normálně fungovala.

Nevíte co s tím, případně, kde sehnat nějaký lepší konfigurační soubor s pořádně nastavenou češtinou ?

Předmět Autor Datum
Mal by si tam mať súbor my-default.ini s predvolenou konfiguráciou, ktorý stačí premenovať na my.ini…
los 29.11.2013 15:45
los
Losi, díky za reakci. Jinak s tím my-default.ini jsem to samozřejmě zkoušel hned po instalaci, ale…
Tyson 29.11.2013 16:54
Tyson
Ok, tak som si to teraz vyskúšal a počas inštalácie bol krátky sprievodca konfiguráciou. Konfiguračn…
los 29.11.2013 23:13
los
Tak nevím. Zkusil jsem to znovu, už asi po desátý přeinstalovat a do žádné konfigurační fáze jsem se…
Tyson 30.11.2013 10:39
Tyson
Adresár ProgramData je na Windows 8.1 skrytý - neviem, pomocou čoho si hľadal, ale možno kvôli tomut…
los 30.11.2013 11:05
los
O to adresáři ProgramData vím, že je skrytý, prohlížel jsem si jej v TC se zobrazenými Hide Files a…
Tyson 30.11.2013 12:12
Tyson
Jinak Losi ještě jednou díky, ale já jsem to už vzdal a nainstaloval jsem si Xampp, kde mi MySQL cho… poslední
Tyson 30.11.2013 13:00
Tyson

Mal by si tam mať súbor my-default.ini s predvolenou konfiguráciou, ktorý stačí premenovať na my.ini.

Pozri si výsledok týchto príkazov:

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

Navicat nepoužívam, takže neviem čo tam počas generovania databázy robí, ak máš ale problém len s databázou, ktorá bola vytvorená cez Navicat, tak problém bude zrejme v jeho konfigurácii. Nepíšeš, či ti diakritika funguje aspoň v normálne vytvorenej databáze, do ktorej normálne vložíš dáta - ak nevieš, tak si to vyskúšaj.

Losi, díky za reakci.

Jinak s tím my-default.ini jsem to samozřejmě zkoušel hned po instalaci, ale on je téměř prázdný, takže tam nebylo co nastavovat.

Zkusil jsem ty tvoje příkazy a vyhodilo mi to následující stav:

character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir C:\MySQL\share\charsets\

collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci

V tom Navicatu problém nebude; jak jsem psal v původním příspěvku, stejné databáze vytvořené Navicatem spuštěné přes v MySQL přes Portable XAMPP byly v pořádku.

Když jsem si ale Xamppový my.ini dal do normálního MySQL 5.6.14, tak ta čeština začala blbnout znova.

Napadá mě, jestli nebude problém v syntaxu. Například někde na webu jsem se dočetl, že MySQL od 5.5 už nepoužívá např. příkaz default-character-set=XXX. A skutečně, když jsem si ho dal do my.ini, službu mysql jsem nespustil.

Přitom ten příkaz generuje poslední MySQL Administrator 1.2.17.

Ok, tak som si to teraz vyskúšal a počas inštalácie bol krátky sprievodca konfiguráciou. Konfiguračný súbor sa ale umiestnil do iného adresára, než som čakal. Jeho umiestnenie sa posiela v parametroch pri spúšťaní servera, takže presné umiestnenie sa dá nájsť vo vlastnostiach služby MySQL56 v services.msc. U mňa je to tu:

C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

V konfigurácii mám hneď po inštalácii aj nastavenie znakovej sady:

[mysql]
default-character-set=utf8

Všetko u mňa funguje normálne bez toho, aby som čokoľvek v konfigurácii menil:

C:\Program Files\MySQL\MySQL Server 5.6\bin>chcp 65001
Active code page: 65001

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -uroot -p
Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.14-log MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
                                                                              
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database test_db charset=utf8 collate=utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> use test_db
Database changed
mysql> create table test_tbl (test_col varchar(20));
Query OK, 0 rows affected (0.20 sec)

mysql> insert test_tbl values ('ľščťžýáí');
Query OK, 1 row affected (0.02 sec)

mysql> select * from test_tbl;
+------------------+
| test_col         |
+------------------+
| ľščťžýáí         |
+------------------+
1 row in set (0.00 sec)

mysql> show variables like 'character_set%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)

mysql> show variables like 'collation%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

Tak nevím. Zkusil jsem to znovu, už asi po desátý přeinstalovat a do žádné konfigurační fáze jsem se nedostal. Konfigurační soubor, jak uvádíš ty, se mi vůbec nevytvořil (prohledal jsem celý disk na my.ini a nikde nebyl). Službu po instalaci nespustím, až poté, co jí sám vytvořím my.ini. Pak mi ukazuje na tenhle můj soubor.

Zkoušel jsem i přenastavovat kódové stránky pomocí DHCP a zase nic. Jinak mám aktualizované Windows 8.1, ale myslím si, že těmi to nebude.

Asi se vrátím k tomu Xamppu, protože mi vznikly i další problémy při instalaci Apache.

O to adresáři ProgramData vím, že je skrytý, prohlížel jsem si jej v TC se zobrazenými Hide Files a navíc jsem prohledával celý disk i ve skrytých adresářích (paranoidně jsem prohledával i druhý svůj datový disk).

Jak jsem psal předtím, když to MySQL nainstaluju, soubor my.ini se nevytvoří a služba mysql (mysqld.exe) se mi nespustí. Teprve až když ručně vytvořím soubor my.ini, tak se služba spustí a pak mi v popisu (service.msc) odkazuje na můj ručně vytvořený soubor, tedy na adresář, kam jsem ho umístil.

Zpět do poradny Odpovědět na původní otázku Nahoru