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.
- Napsal: bobocop, 15.04.2005, 16:07:00
- Kategorie: Internet
- Trvalý odkaz
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...
Archivy
- červenec 2011
- červen 2011
- květen 2011
- únor 2011
- červenec 2010
- červen 2010
- duben 2010
- březen 2010
- únor 2010
- leden 2010
- listopad 2009
- říjen 2009
- září 2009
- červen 2009
- březen 2009
- prosinec 2008
- listopad 2008
- říjen 2008
- srpen 2008
- červen 2008
- květen 2008
- duben 2008
- březen 2008
- únor 2008
- prosinec 2007
- listopad 2007
- září 2007
- červen 2007
- květen 2007
- duben 2007
- březen 2007
- leden 2007
- prosinec 2006
- říjen 2006
- září 2006
- srpen 2006
- červenec 2006
- červen 2006
- duben 2006
- březen 2006
- únor 2006
- leden 2006
- prosinec 2005
- listopad 2005
- říjen 2005
- září 2005
- srpen 2005
- červenec 2005
- červen 2005
- květen 2005
- duben 2005
- březen 2005
- únor 2005
- leden 2005
- prosinec 2004
- listopad 2004
- říjen 2004
- září 2004
- srpen 2004
- červenec 2004
- červen 2004
Odkazy
- Bohumír Bednařík
- Matějka Koupelny
- Škola pro výcvik vodicích psů pro nevidomé
- Veřejný weblog
- Montáže nábytku
Ostatní
Vyhledávání
Reklama