Re: perl DBI cannot connect to host=hhhh; Solved use argname=xxx format
[email protected] (Dennis German) Sun, 1 Sep 2024 08:27:13 -0400
| Newsgroups | perl.dbi.users |
|---|---|
| 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">-></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">=></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 <<a
href="mailto:[email protected]"
moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>>
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->connect("DBI:mysql:$database",$user,
$pass );<br>
if ( ! $dbh ) { die "-- Failed to connect to MySQL
database:DBI->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->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--