簡體   English   中英

linux服務器上的“無法通過套接字連接到本地MySQL服務器”

[英]“Can't connect to local MySQL server through socket” on linux server

我很難將我的網站連接到主機上的mySQL數據庫。 但是,當我在PC上運行我的網站時,它正在順利連接。 我用來連接的片段是:

<?php
    $conn_error = 'Could not connect';

    $mysql_host = 'localhost';
    $mysql_user = 'root';
    $mysql_pass = '';

    $mysql_db = 'firstdatabase';

    if(!mysql_connect($mysql_host,$mysql_user,$mysql_pass)|| !@mysql_select_db($mysql_db)){
        die($conn_error);
    }else{
        //echo 'Connected';
    }
?>

當我嘗試連接到Web主機上的mysql時,它給了我以下錯誤:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server
through socket 'MySQL' (2) in /home/umudo/public_html/connectserver.inc.php on line 10

我在網上搜索以查找解決方案,但找不到確切的示例。

幫助: http//dev.mysql.com/doc/refman/5.0/en/connecting.html

說:

在Unix上,MySQL 程序特別對待主機名localhost ,與其他基於網絡的程序相比,它可能與您期望的方式不同。 為了連接到本地主機,MySQL程序嘗試使用Unix套接字文件連接到本地服務器。

所以你必須這樣做

  • 使用“127.0.0.1”而不是“localhost”來使用tcpip而不是套接字,
  • 在mysql服務器配置中啟用套接字(套接字連接可能已禁用,這會在Linux上導致該錯誤)

第二種方法更好 - 使用套接字進行本地連接比TCP / IP(性能更好)更好,但是您可能沒有權限在該服務器上進行mysql配置。

嘗試像apt-get install phpmyadmin中一樣安裝phpmyadmin或php5-mysql。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM