Error: Client does not support authentication protocol

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Martin

    Error: Client does not support authentication protocol

    I don't know if this is a PHP problem or a MySQL problem - hopefully,
    someone here can give me a clue.

    I am getting the subject error when I try to connect to MySQL from a
    PHP page.

    $conn = mysql_connect( $domain, $user, $password );

    I'm using PHP 5.0.1 and MySQL Server: 4.1.9; Client: 5.0.0
    Running on Windows XP (IIS, of course)

    According to the MySQL Reference Manual, this problem occurs only when
    using client programs older than 4.1.1. I'm not sure what they mean by
    "client programs". Is PHP the "client" in my situation?

    Help?

  • Martin

    #2
    Re: Error: Client does not support authentication protocol

    On Sun, 13 Feb 2005 08:30:05 -0700, Martin <martinvalley@c omcast.net>
    wrote:
    [color=blue]
    >I don't know if this is a PHP problem or a MySQL problem - hopefully,
    >someone here can give me a clue.
    >
    >I am getting the subject error when I try to connect to MySQL from a
    >PHP page.
    >
    >$conn = mysql_connect( $domain, $user, $password );
    >
    >I'm using PHP 5.0.1 and MySQL Server: 4.1.9; Client: 5.0.0
    >Running on Windows XP (IIS, of course)
    >
    >According to the MySQL Reference Manual, this problem occurs only when
    >using client programs older than 4.1.1. I'm not sure what they mean by
    >"client programs". Is PHP the "client" in my situation?
    >
    >Help?[/color]

    While looking at the "PHPIno.php " page, I found, in the "MySQL"
    section, this entry: Client API Version 3.23.57

    I assume this is what is out of date. What is it referring to, a DLL
    somewhere? How do I update it? Is this a PHP thing or MySQL?

    As noted above, the MySQL Administrator shows the "Client" at version
    5.0.0.




    Comment

    • Andy Hassall

      #3
      Re: Error: Client does not support authentication protocol

      On Sun, 13 Feb 2005 09:09:10 -0700, Martin <martinvalley@c omcast.net> wrote:
      [color=blue]
      >On Sun, 13 Feb 2005 08:30:05 -0700, Martin <martinvalley@c omcast.net>
      >wrote:
      >[color=green]
      >>I don't know if this is a PHP problem or a MySQL problem - hopefully,
      >>someone here can give me a clue.
      >>
      >>I am getting the subject error when I try to connect to MySQL from a
      >>PHP page.
      >>
      >>$conn = mysql_connect( $domain, $user, $password );
      >>
      >>I'm using PHP 5.0.1 and MySQL Server: 4.1.9; Client: 5.0.0
      >>Running on Windows XP (IIS, of course)
      >>
      >>According to the MySQL Reference Manual, this problem occurs only when
      >>using client programs older than 4.1.1. I'm not sure what they mean by
      >>"client programs". Is PHP the "client" in my situation?
      >>
      >>Help?[/color]
      >
      >While looking at the "PHPIno.php " page, I found, in the "MySQL"
      >section, this entry: Client API Version 3.23.57
      >
      >I assume this is what is out of date. What is it referring to, a DLL
      >somewhere? How do I update it? Is this a PHP thing or MySQL?[/color]

      PHP comes bundled with a MySQL client library. Older versions of PHP
      (including 5.0.1) came with 3.23.57, as a lowest common denominator that'll
      worked with most versions of MySQL; up until they changed the password hashing
      stuff.

      The php_mysql.dll interface between PHP and MySQL, as built in the binary
      distribution for Windows, only worked with this older version, since it linked
      against a function that doesn't exist in newer MySQLs.

      I believe this has been addressed in 5.0.3, which bundles a newer MySQL client
      (4.1.7), or you can use your own if you have that earlier in the PATH.

      --
      Andy Hassall / <andy@andyh.co. uk> / <http://www.andyh.co.uk >
      <http://www.andyhsoftwa re.co.uk/space> Space: disk usage analysis tool

      Comment

      • Martin

        #4
        Re: Error: Client does not support authentication protocol

        On Sun, 13 Feb 2005 16:32:55 +0000, Andy Hassall <andy@andyh.co. uk>
        wrote:
        [color=blue]
        >On Sun, 13 Feb 2005 09:09:10 -0700, Martin <martinvalley@c omcast.net> wrote:
        >[color=green]
        >>On Sun, 13 Feb 2005 08:30:05 -0700, Martin <martinvalley@c omcast.net>
        >>wrote:
        >>[color=darkred]
        >>>I don't know if this is a PHP problem or a MySQL problem - hopefully,
        >>>someone here can give me a clue.
        >>>
        >>>I am getting the subject error when I try to connect to MySQL from a
        >>>PHP page.
        >>>
        >>>$conn = mysql_connect( $domain, $user, $password );
        >>>
        >>>I'm using PHP 5.0.1 and MySQL Server: 4.1.9; Client: 5.0.0
        >>>Running on Windows XP (IIS, of course)
        >>>
        >>>According to the MySQL Reference Manual, this problem occurs only when
        >>>using client programs older than 4.1.1. I'm not sure what they mean by
        >>>"client programs". Is PHP the "client" in my situation?
        >>>
        >>>Help?[/color]
        >>
        >>While looking at the "PHPIno.php " page, I found, in the "MySQL"
        >>section, this entry: Client API Version 3.23.57
        >>
        >>I assume this is what is out of date. What is it referring to, a DLL
        >>somewhere? How do I update it? Is this a PHP thing or MySQL?[/color]
        >
        > PHP comes bundled with a MySQL client library. Older versions of PHP
        >(including 5.0.1) came with 3.23.57, as a lowest common denominator that'll
        >worked with most versions of MySQL; up until they changed the password hashing
        >stuff.
        >
        > The php_mysql.dll interface between PHP and MySQL, as built in the binary
        >distribution for Windows, only worked with this older version, since it linked
        >against a function that doesn't exist in newer MySQLs.
        >
        > I believe this has been addressed in 5.0.3, which bundles a newer MySQL client
        >(4.1.7), or you can use your own if you have that earlier in the PATH.[/color]

        Andy - thanks.

        I'll look into updating to 5.0.3

        In the meantime, I got this working. I read a couple of things on
        MySQL about setting an ini file value: "old_passwords" , but I couldn't
        seem to get it to have any effect.

        What they didn't say was that, after setting this value, the passwords
        themselves need to be re-entered.

        More significantly, though, and what I had to learn the hard way, was
        that "old_passwo rds" is apparently NOT the correct value to put in the
        ini file! While trying to figure all this out, I noticed that
        MySQLAdmin allows one to set a checkbox that adds/removes this value
        from the ini file. But, it writes the value as "old-passwords" (notice
        the dash instead of the underscore). When I did this, it started
        working!

        I don't see "old-passwords" anywhere in the MySQL documentation - only
        "old_passwords" . Granted, I didn't do an exhaustive search but
        still...


        Comment

        • dormston

          #5
          re:Error: Client does not support authentication protocol

          Martin

          I'm trying to work through this same problem. Frustrating isn't it.

          Sadly I find that when I set the use old passwords option in MySQL
          Administrator is still doesn't help. But I'm interested in your
          comment about re-entering the passwords. Where did you do that? In
          the php.ini file or in MySQL Administrator.

          Feel like I might just be getting a little closer to the answer here
          so would appreciate your help.

          Thx
          Debbie


          Posted Via Usenet.com Premium Usenet Newsgroup Services
          ----------------------------------------------------------
          ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
          ----------------------------------------------------------
          Best Usenet Service Providers 2025 ranked by Newsgroup Access Newsservers, Usenet Search, Features & Free Trial. Add VPN for privacy.

          Comment

          • Frank East

            #6
            Re: Error: Client does not support authentication protocol

            On 2005-02-13 10:30:05 -0500, Martin <martinvalley@c omcast.net> said:
            [color=blue]
            > I don't know if this is a PHP problem or a MySQL problem - hopefully,
            > someone here can give me a clue.
            >
            > I am getting the subject error when I try to connect to MySQL from a
            > PHP page.
            > $conn = mysql_connect( $domain, $user, $password );
            >
            > I'm using PHP 5.0.1 and MySQL Server: 4.1.9; Client: 5.0.0 Running on
            > Windows XP (IIS, of course)
            >
            > According to the MySQL Reference Manual, this problem occurs only when
            > using client programs older than 4.1.1. I'm not sure what they mean by
            > "client programs". Is PHP the "client" in my situation?
            > Help?[/color]

            from the command line under mysql you can simply change to password to
            be stored in the old format using a variant of the set password =
            OLD_PASSWORD('s omepassword');

            or you can begin coding with the mysqli stuff...

            Comment

            Working...