Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql_connect():Nenhum arquivo ou diretório


Sim, você não pode se conectar assim!

@PLB e @jammypeach mysqli está depois da v4.1, ele está usando a v3 :) Pessoal, leiam as especificações, se quiserem realmente ajudar!

Você não pode se conectar, porque seu arquivo de soquete está um pouco errado. Lembro agora que o antigo RH tinha esse problema antes. Seu soquete provavelmente é /var/mysql/mysql.sock ou /tmp/mysql.sock mas um ou mais aplicativos estão procurando pelo outro.

Se o seu é /tmp/mysql.sock mas não /var/mysql/mysql.sock você deve:
cd /var 
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

Se você tem /var/mysql/mysql.sock mas não tem /tmp/mysql.sock então:
cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

Você precisará de permissões para fazer as alterações. Apenas sudo, se necessário antes dos comandos acima!

OUTRA SOLUÇÃO (mais fácil):

Crie o arquivo e chame phpinfo(); Procure por 'mysql.default_socket'; ou 'pdo_mysql.default_socket';Abra My.ini ou My.cnf encontre o valor do soquete, por exemplo. socket=/tmp/mysql.sockAbra seu arquivo php.ini (que também é encontrado em sua página phpinfo() como 'Arquivo de configuração carregado') e altere todas as ocorrências do local incorreto do soquete para o local correto do soquete do MySQL.

OUTRA SOLUÇÃO (mais fácil):DSN para PDO:
mysql:unix_socket=/tmp/mysql.sock;dbname=...

mysql_connect:
$db = mysql_connect('localhost:/tmp/mysql.sock', ...

Seu sistema é realmente assustador quando se trata de segurança, se você estiver hospedando dados confidenciais, eu atualizaria para as versões mais recentes.

---- ATUALIZAR ----

Aaahhhh PHP 5.0 e MySQL 3.23 :)

O PHP 5 tem um cliente mysql empacotado que não pode se conectar a um banco de dados MySQL inferior à versão 4.1. A partir da versão 4.1, o MySQL usa uma nova forma de hash de senha que não é compatível com bancos de dados pré-4.1. O servidor ao qual sua configuração está se conectando é a versão 3.23. Então você precisa obter uma versão superior do MySQL. Desculpe, mas não há outra solução prática para o seu caso. Se eu fosse você, atualizaria todo o sistema e instalaria a versão mais recente do sistema operacional, se fosse necessário eu iria com o Debian e as versões estáveis ​​​​mais recentes do PHP e MySQL.