DBD :: mysql ile DBI kullanarak, veritabanına bağlanmaya çalışırken aşağıdaki hatayı alıyorum.Nasıl mysql.sock nerede DBD :: mysql söyleyebilirim?
DBI connect('database=mydb:host=localhost','someuser',...) failed: Can't connect
to local MySQL server through socket '/tmp/mysql.sock' (2) at ./myscript.pl line 97
Evet MySQL çalışıyor ve çalışıyor. Sorun mysql.sock in/tmp değil olmasıdır.
Ben mysql.sock konumunu biliyorum ve şu anda çalıştığı hack var, mysql.sock dosyasının geçerli konumuna yumuşak bir bağlantı oluşturdum. MySQL konfigürasyonunu değiştirmemeyi tercih ederim, ancak bu muhtemelen yapılacak en kolay şey olacaktır.
DBD :: mysql dosyasına girmenin ve mysql.sock'u doğru konumda aramak için yapılandırmanın bir yolu var mı?
my $dbh = DBI->connect("DBI:mysql:database=dbname;host=localhost;mysql_socket=/path/to/mysql.sock","someuser","somepassword", {'RaiseError' => 1});
yılında soket yerini belirtebilirsiniz
Bu mükemmel. Teşekkürler. – bkoch