`
fantaxy025025
  • 浏览: 1249057 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

DB-Mysql-Can't connect to local MySQL server through socket '/var/run/mysqld/mys

 
阅读更多

 

错误病症:

Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

也有些类似的错误,只不过后面的socket文件不同 

 

诊断:

#1 

mysql客户端通过此文件/var/run/mysqld/mysqld.sock来连接数据库

但我并没有指定这个文件,表示这是默认使用的

$ mysql --help | grep socket

  --protocol=name     The protocol to use for connection (tcp, socket, pipe,

  -S, --socket=name   The socket file to use for connection.

                      The buffer size for TCP/IP and socket communication.

socket                            /var/run/mysqld/mysqld.sock

 

# 看看是不是有这个文件

命令: ll /var/run/mysqld/mysqld.sock

有些云机器上也许就没有此文件,此时可以找到一个可用的socket文件,建立一个软连接就可以了

--文件在哪里?

找到my.conf这个配置文件(ubuntu在/etc/mysql/my.conf),此文件是The MySQL database server configuration file.

打开看见

19 [client]

 20 port,.,.= 3306

 21 socket,.,.= /var/run/mysqld/mysqld.sock

这里配置了地址,改这里也算是一种方法。

 

#治病

找到mysql.sock文件,建立软连接,如我的云机器的sock文件在tmp目录,而且mysqld.sock不在默认目录:

ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

这样就搞定了。

 

有人还是不行,那就仔细看看原理,再处理吧。病理是一样的,但表征和治病的方子是变化的。

 

其他:启动mysql服务的时候,也可以指定sock文件:

/xxx/server/mysql/libexec/mysqld --basedir=/xxx/server/mysql --datadir=/xxx/server/mysql/var --user=mysql --log-error=/xxx/server/mysql/var/AY130422112217010a42.err --open-files-limit=16384 --pid-file=/xxx/server/mysql/var/AY130422112217010a42.pid --socket=/tmp/mysql.sock --port=3306

 

参考文章:http://blog.csdn.net/lmss82/article/details/4414178

#mysql -u root -p
ERROR 2002 (HY000):Can't connect to local MySQL server
随即上网找寻答案
根据大家提供的方法我逐一尝试
方案1.
 1.#ps -A|grep mysql
   显示类似:
  1829 ?        00:00:00 mysqld_safe
   1876 ?        00:00:31 mysqld
  2.#kill -9 1829
  3.#kill -9 1876
  4.#/etc/init.d/mysql restart
  5.#mysql -u root -p
   他的麻烦解决了,我的还没解决!
继续找
方案2
先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.
另外看看是不是权限问题.
------------------------------------------------------------------------------------
[root@localhost beinan]#chown -R mysql:mysql /var/lib/mysql
[root@localhost beinan]# /etc/init.d/mysqld start
启动 MySQL: [ 确定 ]
[root@localhost lib]# mysqladmin -uroot password '123456'
[root@localhost lib]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 3 to server version: 4.1.11

Type 'help;' or '/h' for help. Type '/c' to clear the buffe
他的也解决了,我的麻烦还在继续,依然继续寻找
方案3
问题解决了,竟然是max_connections=1000 他说太多了,然后改成500也说多,无奈删之问题解决了。
还是不行
方案4
     /var/lib/mysql 所有文件权限 改成mysql.mysql
     不行不行
方案5
     摘要:解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:

   [mysql d] 
  socket=/var/lib/mysql .sock 
  改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点: 
  [mysql 
  socket=/tmp/mysql .sock 
  或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连,这个大家自己去找找
  
  或者用这样的方法:
  ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

成功了,就是这样ln -s /var/lib/mysql /mysql.sock/tmp/mysql.sock

 

 

分享到:
评论

相关推荐

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) 出现问题原因: 有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket ...

    深入解析mysql.sock不见的问题

    让人纠结了一把…… 代码如下:zhouqian@zhou:~$ mysqlERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)网上好多的解决办法,可是每个人的实际情况...

    linux下安装mysql及mysql.sock问题

    最近在linux上装Aphace... can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'  这个把我弄得几近崩溃,我在网上查找了很多的解决办法,大概有几种解决方案:  1.权限问题  2.修改/

    mysql中异常错误ERROR:2002的解决方法

    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是否已经启动. 另外看看是不是权限问题...

    linux下启动mysql服务

    ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 解决办法: [root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root / > -S /var/lib/mysql/mysql.sock ...

    LNMP架构安装

    1.mysql tar zxf mysql-5.1.55.tar cd mysql-* ./configure --prefix=/usr/local/mysql --with-charset=utf8...chown -R mysql /usr/local/mysql/var/ service mysqld start mysqladmin -u root password 'pwd123' ....

    centos7安装mysql8以及常规操作.txt

    socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid datadir=/mysql/data tmpdir=/mysql/tmp innodb_data_file_path=ibdata1:1G;ibdata2:1G;ibdata3:1G:...

    mysql-8.0.20-macos10.15-x86_64.tar.gz

    _mysql 40907 0.4 2.1 4907248 350300 s000 S 5:46下午 0:00.95 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql...

    环境搭建php&mysql&svn

    /usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/data0/mysql/3306/data --user=mysql vi /data0/mysql/3306/my.cnf 输入 [client] character-set-server = utf...

    my.cn基本配置

    socket=/var/lib/mysql/mysql.sock user=mysql max_allowed_packet=100M # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 default-character-set=utf8 [mysql] ...

    记一次服务停止后-mysql服务启动失败;

    服务器:unbuntu16.04,阿里云 ... ...第一阶段:此时以为再重启...ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 怎么办呢,看看这个啥文件先,然而查到是这个文

    浅谈Linux 二进制包安装MySQL的一些问题

    第二步:初始化mysql数据库的内部信息./scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data ———————————————- 二进制包是否可以成功的运行,与先前是否先解决rpm...

    MySQL无法启动几种常见问题小结

    错误信息例如: 代码如下:[code] mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data /usr/local/mysql/bin/mysqld_safe: line 107: /usr/local/mysql/data/imysql.

    CentOS8镜像(数据库):mysql5.7.38 redis-7.0.0 mongodb5.0.8

    预安装了数据库:mysql5.7.38 redis-7.0.0 mongodb5.0.8 .../usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

    mysql-5.5.14.tar.gz

    /usr/local/mysql/bin/mysqld_safe --user=mysql & /usr/local/mysql/bin/mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.14-log ...

    mysql-test-5.7.22-linux-glibc2.12-x86_64.tar.gz

    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.22/ --datadir=/usr/local/mysql/mysql-5.7.22/data --lc_messages_dir=/usr/local/mysql/mysql-5.7.22/share --lc_messages=en_US ...

    mysql-8.0.18-1.el7.x86_64.zip

    mysql8安装包以及安装说明,在centeros7下的安装.解压缩后会有两个文件:mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar和mysql8安装说明.txt 1、安装 rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm ...

    CentOS 7.0编译安装cmake和mysql安装包

    ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库 ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接 cp ./support-files/...

    MySQL 5.6.25 源码包+安装方法 (mysql-5.6.25.tar.gz)

    # cp support-files/mysql.server /etc/init.d/mysqld 4.3 重新设置MySQL安装目录的权限(除data目录外,其余所有目录及文件均修改用户为root,组不变) # chown -R root . # chown -R mysql data 4.4 启动mysql_safe ...

    Mysql启动报ERROR:2002的分析与解决

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) 2、故障分析 查看mysql实例的状态 [root@localhost scripts]# netstat -ntlp | grep 3306 tcp 0 0 :

Global site tag (gtag.js) - Google Analytics