List:General Discussion« Previous MessageNext Message »
From:Lefteris Tsintjelis Date:October 15 2005 9:21pm
Subject:Re: Connectivity problem (?), mysql_ping ()
View as plain text  
Hi,

I have just tried your routine, I use something very similar, (I have changed
the "localhost" to 127.0.0.1 so it will not use the pipeline) but I am still
expiriencing the same exact problem, weather reconnect is set or not, the
error remains the same. That is what got me wondering in the first place.

---

(MySQL shutdown)

Begin
Failed to connect to database: Error: Can't connect to MySQL server on '127.0.0.1' (60)

(MySQL startup with mysql.reconnect = 1/0)

Error: MySQL server has gone away

---

This is always what I am getting. Does reconnect work right for you?

Regards,

Lefteris

Gleb Paharenko wrote:
> Hello.
> 
> In my opinion it depends on the value of reconnect flag (the part of
> MYSQL structure). I've written a simple program which connects to MySQL
> server,
> waits a bit and executes mysql_ping. While it is waiting, MySQL server
> is being restarted. If mysql.reconnect = 1, mysql_ping() returns
> success, otherwise we have "Server has gone away". Here is the test program:
> 
> #include<stdio.h>
> #include<mysql/mysql.h>
> int main()
> {
>         MYSQL mysql;
>         char c;
> 
> 	printf("Begin\n");
>         mysql_init(&mysql);
>         mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"mysql");
>         if (!mysql_real_connect(&mysql,"localhost"
> 
>                                                 ,"root"
> 
>                                                 ,""
> 
>                                                 ,"test"
> 
>                                                 ,0
> 
>                                                 ,NULL
> 
>                                                 ,0))
>         {
>             fprintf(stderr, "Failed to connect to database: Error: %s\n",
>                                   mysql_error(&mysql));
>         }
>         mysql.reconnect = 0;
>         c=getchar();
>         if( mysql_ping(&mysql) != 0)
>         {
>                 printf("Error: %s", mysql_error(&mysql));
>         }
>         else
>         {
>                 printf("Ok!\n");
>         }
> 
> }
> 
> 
> 
> Lefteris Tsintjelis wrote:
> 
>>Hi,
>>
>>Is mysql_ping () suppose to restore a db connection even after a db
>>restart?
>>
>>Thnx,
>>
>>Lefteris
>>
> 
> 
> 
Thread
Connectivity problem (?), mysql_ping ()Lefteris Tsintjelis15 Oct
  • Re: Connectivity problem (?), mysql_ping ()Gleb Paharenko15 Oct
    • Re: Connectivity problem (?), mysql_ping ()Lefteris Tsintjelis15 Oct
    • Re: Connectivity problem (?), mysql_ping ()Lefteris Tsintjelis16 Oct
      • Re: Connectivity problem (?), mysql_ping ()Gleb Paharenko16 Oct
        • Re: Connectivity problem (?), mysql_ping ()Lefteris Tsintjelis16 Oct