Re: perl DBI cannot connect to host=hhhh; Solved use argname=xxx format

Dennis German <[email protected]> Sun, 1 Sep 2024 08:27:13 -0400
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
--------------3xcZb4ew00VWSkF0OUSzj0ax
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Thank you very much!

In the documentation for DBI I did not see using the call format 
argname=xxxx .

Sincerely,
Dennis German

On 8/31/24 21:39, Zheng Li Sheng wrote:
> something like this:
> |# Define database connection 
> parametersmy$database='your_database';my$hostname='127.0.0.1';# or any 
> other valid hostname/IP addressmy$port='3306';# Default MySQL port# 
> Construct DSN 
> stringmy$dsn="DBI:mysql:database=$database;host=$hostname;port=$port";# 
> Define username and 
> passwordmy$user='your_username';my$password='your_password';# Connect 
> to the databasemy$dbh=DBI->connect($dsn,$user,$password,{RaiseError 
> =>1});|
> Regards,
>
> On Sun, Sep 1, 2024 at 8:25 AM Dennis German 
> <[email protected]> wrote:
>
>     How can DBI use a database SERVER not a socket?
>
>     1) perl code segment
>
>     $host="sdb-74.hosting.stackcp.net
>     <http://sdb-74.hosting.stackcp.net>"; #actually not used
>
>     $database="realger1_birding"; $user='realger1_observr';
>     $pass='birxxx';
>     use DBI;
>     use DBD::mysql;
>
>     my $dbh = DBI->connect("DBI:mysql:$database",$user, $pass );
>     if ( ! $dbh ) { die "-- Failed to connect to MySQL
>     database:DBI->errstr()"; }
>
>     2) ERROR
>
>     DBI connect('realger1_birding','realger1_observr',...) failed:
>     Can't connect to local MySQL server through socket
>     '/var/lib/mysql/mysql.sock' (2 "No such file or directory") at
>     ./history.pl <http://history.pl> line 25.
>
>     3) cat ~/.my.cnf    #only used by MySQL programs anyway
>     [mysql]
>     host=sdb-74.hosting.stackcp.net <http://sdb-74.hosting.stackcp.net>
>
>     4) platform:
>
>     uname -a
>     Linux ssh5.dfw.stackcp.net <http://ssh5.dfw.stackcp.net>
>     3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024
>     x86_64 x86_64 x86_64 GNU/Linux
>
>     5)  perl -MDBI -e 'DBI->installed_versions'
>       Perl            : 5.016003 (x86_64-linux-thread-multi)
>       OS              : linux    (3.10.0-957.1.3.el7.x86_64)
>       DBI             : 1.627
>       DBD::mysql      : 4.023
>       DBD::Sponge     : 12.010002
>       DBD::Proxy      : 0.2004
>       DBD::Gofer      : 0.015326
>       DBD::File       : 0.41
>       DBD::ExampleP   : 12.014310
>       DBD::DBM        : 0.08
>
--------------3xcZb4ew00VWSkF0OUSzj0ax
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thank you very much! <br>
    </p>
    <p>In the documentation for DBI I did not see using the call format
      argname=xxxx .</p>
    <p>Sincerely,<br>
      Dennis German<br>
    </p>
    <div class="moz-cite-prefix">On 8/31/24 21:39, Zheng Li Sheng wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAHYMEFRhZ+-64YOD8MguVwpAKvBEenK4xOuxfNfVUfJYaRZ-zA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>something like this:</div>
        <div><span>
            <pre
class="gmail-not-prose gmail-w-full gmail-overflow-hidden gmail-rounded gmail-font-mono gmail-text-sm gmail-font-extralight"><span
style="font-size:inherit;font-family:inherit;background:transparent;color:rgb(77,77,76);border-radius:3px;display:flex;line-height:1.42857;overflow-x:auto;white-space:pre"><code
style="font-size:inherit;font-family:inherit;line-height:1.66667;padding:8px;white-space:pre-wrap"><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span
            class="gmail-token gmail-token"
style="color:rgb(142,144,140);font-family:inherit;font-style:italic"># Define database connection parameters</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$database</span><span> </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(113,140,0)">'your_database'</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$hostname</span><span> </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(113,140,0)">'127.0.0.1'</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span><span> </span><span
            class="gmail-token gmail-token"
style="color:rgb(142,144,140);font-family:inherit;font-style:italic"># or any other valid hostname/IP address</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$port</span><span>     </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(113,140,0)">'3306'</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span><span>     </span><span
            class="gmail-token gmail-token"
style="color:rgb(142,144,140);font-family:inherit;font-style:italic"># Default MySQL port</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right">
</span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
style="color:rgb(142,144,140);font-family:inherit;font-style:italic"># Construct DSN string</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$dsn</span><span> </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(113,140,0)">"DBI:mysql:database=$database;host=$hostname;port=$port"</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right">
</span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
style="color:rgb(142,144,140);font-family:inherit;font-style:italic"># Define username and password</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$user</span><span>   </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(113,140,0)">'your_username'</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$password</span><span> </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(113,140,0)">'your_password'</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right">
</span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
style="color:rgb(142,144,140);font-family:inherit;font-style:italic"># Connect to the database</span><span>
</span></span><span
style="opacity:1;font-size:inherit;line-height:1.42857;color:rgb(77,77,76);background-color:transparent;padding:8px;text-align:right"><span></span><span
            class="gmail-token gmail-token"
            style="color:rgb(137,89,168);font-weight:bolder">my</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$dbh</span><span> </span><span
            class="gmail-token gmail-token gmail-operator">=</span><span> DBI</span><span
            class="gmail-token gmail-token gmail-operator">-&gt;</span><span>connect</span><span
            class="gmail-token gmail-token gmail-punctuation">(</span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$dsn</span><span
            class="gmail-token gmail-token gmail-punctuation">,</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$user</span><span
            class="gmail-token gmail-token gmail-punctuation">,</span><span> </span><span
            class="gmail-token gmail-token" style="color:rgb(200,40,41)">$password</span><span
            class="gmail-token gmail-token gmail-punctuation">,</span><span> </span><span
            class="gmail-token gmail-token gmail-punctuation">{</span><span>RaiseError </span><span
            class="gmail-token gmail-token gmail-operator">=&gt;</span><span> </span><span
            class="gmail-token gmail-token"
            style="color:rgb(245,135,31)">1</span><span
            class="gmail-token gmail-token gmail-punctuation">}</span><span
            class="gmail-token gmail-token gmail-punctuation">)</span><span
            class="gmail-token gmail-token gmail-punctuation">;</span></span></code></span></pre>
          </span></div>
        <div>Regards,<br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Sun, Sep 1, 2024 at 8:25 AM
          Dennis German &lt;<a
            href="mailto:[email protected]"
            moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>&gt;
          wrote:<br>
        </div>
        <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>
            <p>How can DBI use a database SERVER not a socket?<br>
            </p>
            <p>1) perl code segment</p>
            <p><font size="4" face="monospace">$host="<a
                  href="http://sdb-74.hosting.stackcp.net"
                  target="_blank" moz-do-not-send="true">sdb-74.hosting.stackcp.net</a>";  
                #actually not used</font></p>
            <p><font size="4" face="monospace">$database="realger1_birding"; 
                $user='realger1_observr'; $pass='birxxx';<br>
                use DBI;               <br>
                use DBD::mysql;         <br>
                <br>
                my $dbh = DBI-&gt;connect("DBI:mysql:$database",$user,
                $pass );<br>
                if ( ! $dbh ) { die "-- Failed to connect to MySQL
                database:DBI-&gt;errstr()"; }</font></p>
            <p>2) ERROR</p>
            <p><font size="4" face="monospace">DBI
                connect('realger1_birding','realger1_observr',...)
                failed: Can't connect to local MySQL server through
                socket '/var/lib/mysql/mysql.sock' (2 "No such file or
                directory") at ./<a href="http://history.pl"
                  target="_blank" moz-do-not-send="true">history.pl</a>
                line 25.</font><font size="4"><br>
              </font></p>
            <p>3) <font face="monospace">cat ~/.my.cnf    #only used by
                MySQL programs anyway<br>
                [mysql]<br>
                host=<a href="http://sdb-74.hosting.stackcp.net"
                  target="_blank" moz-do-not-send="true">sdb-74.hosting.stackcp.net</a></font></p>
            <p>4) platform: <br>
            </p>
            <p><font size="4" face="monospace">uname -a<br>
                Linux <a href="http://ssh5.dfw.stackcp.net"
                  target="_blank" moz-do-not-send="true">ssh5.dfw.stackcp.net</a>
                3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52
                UTC 2024 x86_64 x86_64 x86_64 GNU/Linux</font></p>
            <p>5)  perl -MDBI -e 'DBI-&gt;installed_versions'<br>
                Perl            : 5.016003   
              (x86_64-linux-thread-multi)<br>
                OS              : linux    (3.10.0-957.1.3.el7.x86_64)<br>
                DBI             : 1.627<br>
                DBD::mysql      : 4.023<br>
                DBD::Sponge     : 12.010002<br>
                DBD::Proxy      : 0.2004<br>
                DBD::Gofer      : 0.015326<br>
                DBD::File       : 0.41<br>
                DBD::ExampleP   : 12.014310<br>
                DBD::DBM        : 0.08<br>
              <br>
            </p>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>

--------------3xcZb4ew00VWSkF0OUSzj0ax--