原创

Mysql 报错 Can’t connect to local MySQL server through socket

        MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。


        MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。


        在安装 mysql 数据库成功后,测试数据库连接时报错“Connect Server Failed:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2)”,是因为 mysql 服务socket文件mysql.sock位置改变导致 mysql socket文件连接mysql时异常。


1、检查一下mysql的运行状态,具体执行命令如下:

[root@iZ256w2hluuZ ~]# ps -ef | grep mysql
root       962     1  0 Oct22 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     1253   962  0 Oct22 ?        00:00:37 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root      2507  2489  0 15:45 pts/0    00:00:00 grep mysql


2、使用 find 命令查找 mysql.sock 文件,具体命令如下:

[root@iZ256w2hluuZ ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock


3、修改my.cnf 文件,具体执行命令如下:

[root@iZ256w2hluuZ ~]# find / -name my.cnf
/etc/my.cnf
[root@iZ256w2hluuZ ~]# vim /etc/my.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

按 Esc 退出,输入“:wq”,重启mysql数据库即可。

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信