- 浏览: 138064 次
文章分类
最新评论
连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。
如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
另一个解决办法是你现在不能用套接字建立连接因为它不见了,你可以建立一个TCP/IP连接,例如,如果服务器主机是192.168.0.1,你可以这样连接:
1 |
%mysql -u root -h 192.168.0.1 -p |
2 |
%mysqladmin -u root -h 192.168.0.1 -p shutdown |
如果套接字文件被一个cron任务删除,问题将重复出现,除非你修改cron任务或使用一个或使用一个不同的套接字文件,你可以使用全局选项文件指定一个 不同的套接字,例如,如果数据目录是/usr/local/var,你可以通过将下列行加入/etc/my.cnf中,将套接字文件移到那里:
1 |
[mysqld] |
2 |
socket=/usr/local/var/mysql.sock |
3 |
[client] |
4 |
socket=/usr/local/var/mysql.sock |
对服务器和客户均指定路径名,使得它们都使用同一个套接字文件。如果你只为服务器设置路径,客户程序将仍然期望在原位置执行套接字,在修改后重启服务器,使它在新位置创建套接字
如果你有这个问题,事实上任何人可以删除MySQL通讯套接字“/tmp/mysql.sock”,在Unix的大多数版本上,你能通过为其设置sticky(t)位来保护你的“/tmp”文件系统。作为root登录并且做下列事情:
1 |
chmod +t /tmp |
这将保护你的“/tmp”文件系统使得文件仅能由他们的所有者或超级用户(root)删除。
你能执行ls -ld /tmp检查sticky位是否被设置,如果最后一位许可位是t,该位被设置了。
告诉你临时解决办法,找到mysqld,运行mysqld shut,mysqld start ,就ok了
启动mysql 报错:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
1、先查看 /etc/rc.d/init.d/mysqld status 看看mysql是否已经启动.
另外看看是不是权限问题.
2、确定你的mysql.sock是不是在那个位置,
mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock
3、试试:service mysqld start
4、如果是权限问题,则先改变权限
1 |
chown -R mysql:mysql /var/lib/mysql |
2 |
/etc/init.d/mysqld start |
3 |
启动 MySQL: [ 确定 ] |
4 |
mysql -u root -p |
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
原因是,/var/lib/mysql 的访问权限问题。
1 |
chown -R mysql:mysql /var/lib/mysql |
接着启动服务器
1 |
/etc/init.d/mysql start |
服务器正常启动后察看 /var/lib/mysql 自动生成mysql.sock文件。
但是我的问题仍然没有得到解决。
问题终于解决:
方法: 修改/etc/my.conf:
01 |
[mysqld] |
02 |
datadir=/usr/local/mysql/data |
03 |
socket=/var/lib/mysql/mysql.sock |
04 |
|
05 |
[mysql.server] |
06 |
user=mysql |
07 |
basedir=/usr/local/mysql |
08 |
|
09 |
If there is not currently a section called [client], add one at the bottom of the file and copy the socket= line under the [mysqld] section such as: |
10 |
|
11 |
[client] |
12 |
socket=/var/lib/mysql/mysql.sock |
发现依旧如此,运行/etc/init.d/mysql start报错:Starting MySQLCouldn’t find MySQL manager or server
是mysqld服务没启,运行/usr/local/mysql/bin/mysqld_safe &
问题解决。
执行 PHP 时出现类似这样的错误信息:
Warning: MySQL Connection Failed: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111) in /home/httpd/html/show.php on line 9
请将 /tmp/mysql.sock link 到 /var/lib/mysql 目录里即可:
1 |
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock |
原文出自:http://jackitshot.blogbus.com/logs/37369180.html
发表评论
-
(转)mysql 格式化日期 DATE_FORMAT,FROM_UNIXTIME,UNIX_TIME等
2013-03-01 16:40 11151. DATE_FORMAT() 函数用于以不同的格式显示日 ... -
(转载)mysql通过关联修改表中两个字段的值
2013-01-21 15:28 1117mysql通过关联修改表中 ... -
转Error Code: 2006 - MySQL server has gone away(Error Code: 2006 - MySQL 服务器已离线)
2012-12-27 11:14 928刚才在导入数据库的时候 SQLyog 报错了Error Cod ... -
mysql添加用户和用户权限
2013-01-21 15:29 1846Mysql添加用户使用可以对mysql数据库用户表有操作权限的 ... -
主从服务器配置
2012-12-18 17:06 744安装环境:主服务器::192.168.1.10从服务器::19 ... -
同机MySQL主从同步设置
2012-12-18 17:02 7901、 配置主库my.ini port=3306 data ... -
MySQL主从复制与读写分离
2012-12-18 16:05 711MySQL主从复制(M ... -
mysql主从复制
2012-12-18 15:23 646mysql主从复制 怎么安装mysql数据库,这里不说了,只 ... -
(转载)MySQL的log-bin的日志功能
2012-12-18 15:10 642装mysql,运行一段时间后 ... -
(转载)mysql 远程连接速度慢的解决方案
2012-12-14 15:35 687PHP远程连接MYSQL速度慢,有时远程连接到M ... -
(转载)MySQL常用操作基本操作
2012-12-13 11:18 670MySQL常用操作基本操作,以下都是MySQL5.0下测试通过 ... -
MySQL 5.5版本下my.ini内[mysqld]项中不能再写default-character-set=utf8
2012-12-13 11:12 746原来在5.1版本时,为了解决中文乱码问题设置默认字符集为utf ... -
mysql从一个表向另一个表转移数据的存储过程
2012-12-11 10:59 822DELIMITER $$ USE `sms`$$ DROP ... -
(转载)MYSQL数据表损坏的原因分析和修复方法
2012-11-28 09:23 700一、表损坏的原因分析 以下原因是导致mysql 表毁坏的 ... -
MySQL日期时间函数大全
2012-11-17 10:38 638DAYOFWEEK(date) 返回日期date是星期几(1 ... -
(转载)Windows下安装MySQL最佳实践
2012-10-15 17:41 715一、背景 其实在Windows下安装MySQL可谓是一件很简 ... -
mysql 数据表合并并且只重复数据只读取一条
2012-09-21 14:56 1710mysql教程 数据表合并并且只重复数据只读取一条//首先我们 ... -
Linux下设置MySQL编码
2012-09-11 13:59 776在某些时候,我们需要要修改mysql默认数据库的编码,以保证某 ... -
mysql show processlist 显示mysql 查询进程
2012-09-10 16:05 817processlist命令的输出结果显示了有哪些线程在运行,可 ... -
MySQL中的临时表使用方法
2012-09-06 09:51 605当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量 ...
相关推荐
ERROR 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (111) 解决办法: /usr/local/mysql/bin/mysqladmin -u root > -S /var/lib/mysql/mysql.sock password 'your.passwd' ...
在MySQL服务器的运行过程中,可能会遇到“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'”这样的错误。这个错误提示表明,客户端试图通过Unix域套接字(socket文件)...
标题中的问题 "Can't connect to local MySQL through socket '/tmp/mysql.sock'" 是一个常见的MySQL连接错误,通常发生在尝试通过套接字文件(socket file)连接到本地MySQL服务器时。该问题通常涉及MySQL服务未...
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 的异常。是用dmg直接安装的以为安装包又出现了奇奇怪怪的错误,正欲卸载该版本时找到了我的问题的关键。 解决...
在使用MySQL时,可能会遇到一个常见的错误:“ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’”。这个错误表明客户端无法通过Unix套接字文件与本地MySQL服务器建立...
在安装好了MySQL之后,使用了新的配置文件后,MySQL服务器可以成功启动,但在登陆的时候出现了ERROR 2002 (HY000): Can’t connect to local MySQL server through socket,即无法通过socket连接到mysql服务器,同时...
?php $link=mysql_connect(‘localhost’,’root’,... 运行后报错 Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ 但在 命令行中能进入mysql [root@localhost local]# mysql -u root -p E
最近在linux上装Aphace... can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock' 这个把我弄得几近崩溃,我在网上查找了很多的解决办法,大概有几种解决方案: 1.权限问题 2.修改/
在MySQL的使用过程中,有时会遇到异常错误"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"。这个错误通常表示客户端无法通过套接字文件与MySQL服务器...
php 不能连接数据库 php error Can't connect to local MySQL server through socket '/tmp/mysql.sock'
当遇到类似 `ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)` 的错误时,可以通过以下两种方式解决: - 使用 `mysqladmin` 设置 root 用户密码并指定正确的 socket ...
MySQL数据库是我们日常运维工作中经常会使用的一个重要组件,它在运行过程中可能会出现各种问题,而错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket是一个比较常见的连接失败错误。...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'(2) ``` 解决方法是使用以下命令: ``` sudo chown -R _mysql:mysql /usr/local/var/mysql ``` 然后启动 MySql 服务: `...
如果遇到 `Can't connect to local MySQL server through socket '/tmp/mysql.sock` 问题,可以按照以下步骤解决: 1. 查找 `mysql.sock` 文件: ``` find / -name mysql.sock ``` 2. 创建软连接: ``` ln -s /var/...
如果遇到`Can't connect to local MySQL server through socket '/tmp/mysql.sock'`的错误,可能是`mysql.sock`文件不在默认路径`/tmp`下,或因系统重启而被删除。你可以通过创建符号链接或重启MySQL服务来解决这个...
#### 问题一:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' - **原因**:通常是 MySQL 服务没有启动导致的。 - **解决办法**:执行命令`service mysql start`来启动 ...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysqldata/mysql.sock' (111) ``` - **故障解决**:该错误通常表示 MySQL 服务没有正常运行或者 socket 文件路径不正确。可以...
首先,当你尝试用`mysql -uroot -p`命令登录MySQL,并输入密码后,如果出现`ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)`的错误,这通常意味着MySQL...
- 可能会出现连接失败的情况,错误信息为“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”。此时,需要检查`/etc/my.cnf`文件中的`socket`配置项,确保与实际...