Avatar billede rhjjhj Nybegynder
01. december 2005 - 14:41 Der er 8 kommentarer og
1 løsning

Database error: pconnect(host, db, password) failed.

Hej. I browseren får jeg engang imellem denne fejl:

Database error: pconnect(host, db, password) failed.
MySQL Error: ()
Session halted.


De fleste gange hvor fejlen opstår, kan jeg bare reloade og så kører det igen. Et øjeblik efter er en gal igen. Så kan jeg reloade mysql, og så køre det fint igen ca. nogle dage!!
Den ledige hukommelse ser ud til at være uændret, så det kan næsten ikke være fordi jeg løber tør for hukommelse.

Nogen der har et bud på hvad der går galt?
Avatar billede rhjjhj Nybegynder
01. december 2005 - 14:55 #1
Jeg skylder vist at sige at det kører på en:
- Mysql 3.23.58
- Linux Fedora Core 3
- Apache 2.0.53
Avatar billede Slettet bruger
02. december 2005 - 00:47 #2
Det kan være, at antallet af mulige persistent connections er sat for lavt.
Avatar billede rhjjhj Nybegynder
02. december 2005 - 10:08 #3
Måske, men hvis det er det man indstiller i /etc/php.ini, så er den uden begrænsning:

=============== UDDRAG AF PHP.INI =================

[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off
===================================================
Avatar billede Slettet bruger
02. december 2005 - 10:44 #4
MySQL har også en indstilling for det. Muligvis er det bare indstillingen for max antal samtidige forbindelser, du skal stille på.
Avatar billede rhjjhj Nybegynder
02. december 2005 - 10:47 #5
Ok. Ved du hvor/hvordan man ændrer det?
Avatar billede Slettet bruger
02. december 2005 - 10:51 #6
/etc/my.cnf

[mysqld]
set-variable=max_connections=250
Avatar billede Slettet bruger
02. december 2005 - 10:54 #7
Som eksempel altså. Standardværdien, hvis du ikke har ændret den er 100, og afhængig af belasting og RAM-mængde og den slags, kan en Linux-server klare op til 500-1000 samtidige. Ifølge http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html
Avatar billede rhjjhj Nybegynder
02. december 2005 - 10:58 #8
Super. Tak for hjælpen. Jeg er næsten sikker på det må være det. Jeg kunne se i phpMyAdmin at den var sat til 100 (må være default). Nu står den til 250. Så prøver jeg det rækker. Kan jeg få dig til lige at smide et svar. :o)
Avatar billede Slettet bruger
02. december 2005 - 11:05 #9
Jeps. Kommer her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester