我尝试连接到mysql时收到以下错误:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
这个错误有解决方案吗?它背后的原因可能是什么?
我正在尝试设置WordPress.我运行Apache和MySQL,帐户和数据库都已设置完毕.我试图建立一个简单的连接:
<?php
$conn = mysql_connect('localhost', 'USER', 'PASSWORD');
if(!$conn) {
echo 'Error: ' . mysql_errno() . ' - ' . mysql_error();
}
?>
Run Code Online (Sandbox Code Playgroud)
我总是得到这个:
错误:2002 - 没有这样的文件或目录
它可以谈论什么文件或目录?
我使用的是内置Apache的OS X Snow Leopard.我使用x86_64 dmg安装了MySQL.
更新:我发现套接字位于/tmp/mysql.sock,所以在php.ini中,我用它替换了所有错误路径.
php artisan migrate,出现以下错误:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
Run Code Online (Sandbox Code Playgroud)注意:php -v是5.5,mysql -v是终端的5.5这是我的config/database.php的一部分
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'essays',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Run Code Online (Sandbox Code Playgroud)
我尝试用127.0.0.1替换localhost但没有用.请帮忙..
编辑: 我在php.ini中添加了这三行
mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
Run Code Online (Sandbox Code Playgroud)
我还添加了这个符号链接:
sudo mkdir /var/mysql
cd /var/mysql && sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
但那并没有解决.我也是从混帐拉一个全新的laravel项目后遇到同样的错误composer install,然后php artisan migrate
[PDOException]
SQLSTATE[HY000] [2002] No such file …Run Code Online (Sandbox Code Playgroud) 我知道有一些类似的问题,事实上我已经阅读了所有(9)个问题.
但是,它们都没有解决我的问题.
我有一个共享托管包(最低限度).我的包中包含的是域名,以及托管MySQL服务器的单独IP地址.对于开发,我正在使用http://localhost/PHP 5.4的开发服务器,而我正在使用我的托管包中的MySQL服务器.
问题出现在我的电脑上,因为我安装了PHP 5.4,但是我的网络主机安装了PHP 5.2.17并且不会升级.MySQL服务器在MySQL 5.1.50上.
幸运的是,phpMyAdmin具有内置的"更改密码"功能.
phpMyAdmin中有两个用于更改密码的哈希选项:
我使用MySQL 4.1+选项更改了密码,并确认更新成功.
该个人资料已更新.
SET PASSWORD = PASSWORD( '***' )
但是,当我执行此查询时:
SELECT @@global.old_passwords, @@session.old_passwords, Length(PASSWORD('abc'));
Run Code Online (Sandbox Code Playgroud)
它告诉我密码长度仍然是16.输出:
Run Code Online (Sandbox Code Playgroud)1 1 16
所以问题仍然存在.
无法连接到数据库.SQLSTATE [HY000] [2000] mysqlnd无法使用旧的不安全身份验证连接到MySQL 4.1+.请使用管理工具使用命令SET PASSWORD = PASSWORD('your_existing_password')重置密码.这将在mysql.user中存储一个新的,更安全的哈希值.如果在PHP 5.2或更早版本执行的其他脚本中使用此用户,则可能需要从my.cnf文件中删除旧密码标志
当我在phpMyAdmin中使用DBO用户登录时,我也尝试过这些查询:
SET SESSION old_passwords=0;
[phpMyAdmin reloads to the home screen, but the value remains = 1]
SET GLOBAL old_passwords = 0;
#1227 - Access denied; you need the SUPER privilege for this operation
FLUSH PRIVILEGES;
#1227 …Run Code Online (Sandbox Code Playgroud) 我正在研究symfony教程的jobeet,我有问题通过doctrine获得MySQL数据库的数据库连接.开发环境:Mac OS X和XAMPP.
命令php symfony doctrine:build-schema给我以下错误消息:
警告:PDO :: __ construct():[2002]在/ Users/xx/projects/myproject/lib/vendor/symfony中没有这样的文件或目录(尝试通过unix:///var/mysql/mysql.sock连接)第470行上的/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php
PDO连接错误:SQLSTATE [HY000] [2002]没有这样的文件或目录
database.yml中的数据库设置:
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: 'mysql:host=localhost;dbname=my_project_db'
username: root
password: root
Run Code Online (Sandbox Code Playgroud)
MySQl正在运行.用户名和密码是正确的.数据库'my_project_db'存在.
有人能给我一个暗示会出错的事吗?
我已将PushChatServer目录放在htdocs文件夹中并创建数据库puschat尝试运行@" http://localhost/PushChatServer/api/test/database.php "
然后我得到了以下异常.
我想做同样的事来解释这个链接http://www.raywenderlich.com/32963/apple-push-notification-services-in-ios-6-tutorial-part-2
我做了所有这些,但我得到了这个例外
无法连接到数据库.原因:异常'PDOException',消息'SQLSTATE [HY000] [2002]没有这样的文件或目录'在/Applications/MAMP/htdocs/PushChatServer/api/test/database.php:17堆栈跟踪:#0/Applications/MAMP /htdocs/PushChatServer/api/test/database.php(17):PDO - > __ construct('mysql:host = loca ...','root','root',Array)#1 {main}
我在运行bake命令时遇到问题.我认为它与mysql有关,但我没有在Stackoverflow上找到任何解决此错误的方法.这是我的app.php:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
//'port' => 'nonstandard_port_number',
'username' => 'root',
'password' => 'root',
'database' => 'laboiterose',
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
Run Code Online (Sandbox Code Playgroud)
请帮忙,我得到的错误是:
Exception: SQLSTATE[HY000] [2002] No such file or directory in [/Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 48]
2015-06-19 14:35:48 Error: [PDOException] SQLSTATE[HY000] [2002] No such file or directory
Stack Trace:
0 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php(48): PDO->__construct('mysql:host=loca...', 'root', 'root', Array)
1 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Driver/Mysql.php(89): Cake\Database\Driver\Mysql->_connect('mysql:host=loca...', Array)
2 /Applications/MAMP/htdocs/my_db/vendor/cakephp/cakephp/src/Database/Schema/BaseSchema.php(46): …Run Code Online (Sandbox Code Playgroud) 当我尝试使用“php artisan migrate”命令在 Laravel 5 中迁移表时出现以下错误:
'SQLSTATE[HY000] [2002] 中没有这样的文件或目录'。. . /vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:47
我的 .env 文件包括如下默认设置:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Run Code Online (Sandbox Code Playgroud)
我的database.php文件将mysql列为默认的数据库连接,homestead在我的homestead.yaml文件中列为数据库,homestead是我访问mysql并使用show databases;命令时列出的表之一。
关于我可能做错了什么的任何想法?
我知道这是一个重复的问题,但在线解决方案似乎都不适合我.
我正在尝试向laravel 5项目添加身份验证(使用make:auth)每当我尝试"注册"时,我都会收到SQLSTATE[HY000] [2002] Connection refused错误消息.
网上的回复是将localhost更改为127.0.0.1和vise-vera,但这对我不起作用.
任何想法的人?谢谢(我在OSX上,如果它有所作为)
.env
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=test
DB_PASSWORD=
Run Code Online (Sandbox Code Playgroud)
database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'test'),
'username' => env('DB_USERNAME', 'test'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Run Code Online (Sandbox Code Playgroud)