Problém s instalací a konfigurací MySQL

Mám problém s instalací MySQL, přesněji řečeno instalace se mi zdařila, ale nedaří se mi k databázi připojit na lokálním počítači ve skriptu PHP.

Mám následující konfiguraci:

  • Windows XP (SP2)
  • Server IIS (verze 5.1)
  • PHP 4.3.11
  • MySQL 4.1.11

Instalace MySQL proběhla v podstatě bez problémů, nainstaloval jsem to pomocí instalačního programu, který jsem si stáhl ze stránek www.mysql.com a nainstaloval jsem to do adresáře C:MYSQL. Při konfiguraci jsem nastavil, že chci používat charset cp1250.

Poté jsem si ze stejných stránek stáhl a nainstaloval program MySQL Administrator. Pomocí něj se mi podaří k databázi bez problémů připojit a pracovat s ní (spustit řádkového klienta mysql.exe, vytvářet databáze, tabulky, atd.). Vytvořil jsem si testovací databázi mojedata a v ní tabulku uzivatele:

CREATE TABLE `uzivatele` (
  `id_uzivatele` mediumint(8) unsigned NOT NULL auto_increment,
  `uziv_jmeno` varchar(30),
  `jmeno` varchar(30) NOT NULL,
  `prijmeni` varchar(50) NOT NULL,
  `email` varchar(255),
  `heslo` varchar(50) NOT NULL,
  `datum` datetime NOT NULL,
  PRIMARY KEY  (`id_uzivatele`)
);

Poté jsem si vytvořil skript, kterým jsem se chtěl připojovat k databázi:

<?php
 define('DB_UZIVATEL', 'root');
 define('DB_HESLO', 'heslo'); //tady jsem dal správné heslo
 define('DB_NAZEVDATABAZE', 'mojedata');
 define('DB_HOSTITEL', 'localhost');

 $dbc = @mysql_connect(DB_HOSTITEL,DB_UZIVATEL,DB_HESLO) OR die('Nepodařilo se připojit k databázi MySQL: ' . mysql_error());
 echo '<p>Připojení se podařilo.</p>'; //pro testovaci ucely
  @mysql_select_db(DB_NAZEVDATABAZE) OR die('Nelze vybrat databázi: ' . mysql_error());
 echo '<p>Databázi se podařilo vybrat.</p>'; //pro testovaci ucely
?>

Ten však po spuštění v prohlížeči nefunguje a hlásí mi to nějaké divné chyby, konkrétně toto:

File 'c:mysqlsharecharsets?.conf' not found (Errcode: 22) Character set '#26' is not a compiled character set and is not specified in the 'c:mysqlsharecharsetsIndex' file Nepodařilo se připojit k databázi MySQL: Client does not support authentication protocol requested by server; consider upgrading MySQL client

To, co je tučně je chyba, kterou jsem již vypsal skriptem. Kde se tam vzalo to před tím, netuším. Máte někdo zkušenost s používáním MySQL na lokálním počítači s obdobnou konfigurací? Mohl byste mi někdo poradit, kde dělám chybu?

UPDATE:

Po nastavení parametru default-character-set na hodnotu latin1 už mi to nepíše tu chybovou hlášku o nekompilovaném charsetu, ale stále zůstává problém s tím přístupem.

Komentáře

Proč 

proč bastlis dohromady IIS a php a mySQL?
logictejsi se mi zda bud waffen ms reseni /IIS+ASP+MS SQL/ a nebo open source reseni
/Apache+PHP+MySQL/ a nejlip na Linuxu.

Napsal(a): vfb (http://vfb.bloguje.cz), 15.04.2005, 11:20:51

Re: Proč 

Protože v práci používám WinXP. Linux jsem nikdy nainstalovaný neměl a nehodlám (a ani nesmím) si ho ani instalovat. Protože IIS je standardní součástí Windows (nemusel jsem nic instalovat). Protože takhle to proste mám nainstalované a chci se na této konfiguraci učit MySQL používat. Na serveru, kde by případné moje výtvory byly umístěny, je Apache+PHP+MySQL+Linux (pokud vím), ale to nehraje roli. Já potřebuju testovat na mé konfiguraci.

Napsal(a): Bohumír Bednařík (BoboCop) (http://www.bobocop.cz/webdesign.php), 15.04.2005, 11:33:55

Chyba připojení MySQL 

Co se týče chyby - "Nepodařilo se připojit k databázi MySQL: Client does not support ..." stačí v příkazovém řádku MySQL napsat:
SET PASSWORD FOR 'tvujuzivazel'@'localhost' = OLD_PASSWORD('tvojeheslo');

Kde je tvuj uzivatel po instalaci vetsinou root.

No a ta chyba s chracter set, tu bych taky potřeboval vyře¨šit. Pokud v My.ini zapíšu do defaul-character-set cokoliv jiného než latin1, píše mi to stejnou hlášku. Obešel jsem to sice tím, že jsem tam nechal Latin1 a při sestavování spojení nastavuji:

$query = "SET character_set_connection=latin2";
$result = mysql_query($query, $link) or die ("SQL bad");
$query = "SET character_set_client=latin2";
$result = mysql_query($query, $link) or die ("SQL bad");
$query = "SET character_set_results=latin2";
$result = mysql_query($query, $link) or die ("SQL bad");

Pokud jsi se dověděl jak na to, budu ti vděčný za radu.

Dík
Dalibor

Napsal(a): DaliRX (http://www.dalirx.net), 19.04.2005, 11:39:10

Re: Chyba připojení MySQL 

Jo, díky. Už jsem si to našel na webu a použil to. Viz http://www.bobocop.cz/blog/136880_item.php
Pokud jde o to kódování, tak si nejsem jistý tím, jestli je to správný postup, ale po připojení k databázi jsem použil následující kód:
$vysledek = mysql_query("SET NAMES 'cp1250'");
$vysledek = mysql_query("SET CHARACTER SET cp1250");
a vypadá to, že to takto funguje. Ovšem jestli to je ten správný postup, to opravdu nevím.

Napsal(a): Bohumír Bednařík (BoboCop) (http://www.bobocop.cz/webdesign.php), 19.04.2005, 12:41:43

 

Napsal(a): 09.05.2006, 06:35:34

Přidání komentáře...










Poznámky k vyplnění formuláře

Nepoužívejte žádné HTML značky.
URL začínající http:// nebo ftp:// budou převedeny na odkaz.
Aby byl odkaz funkční, musí být z obou stran URL mezera.

   


Přeskočit na obsah