加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

连接mysql数据库报错情况解析

发布时间:2023-09-07 14:39:15 所属栏目:MySql教程 来源:
导读:本文主要给大家介绍连接mysql数据库报错情况分析,文章内容都是笔者用心摘选和编辑的,连接mysql数据库报错情况分析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。

1、今天
本文主要给大家介绍连接mysql数据库报错情况分析,文章内容都是笔者用心摘选和编辑的,连接mysql数据库报错情况分析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。
 
1、今天安装了一个mysql 5.7 的二进制安装方式,在连接mysql数据库的时候报了如下错误:
 
[root@iccsdb01 mysql]# mysql
 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
 
2、根据提示应该是sock文件不在,通过查看进程配置,发现如下
 
[root@iccsdb01 bin]# ps -ef | grep mysql
 
root      9196  3125  0 11:18 pts/2    00:00:00 tail -f mysqld.log
 
root     11404     1  0 14:13 pts/1    00:00:00 /bin/sh /home/mysql/sysinfo/mysql/bin/mysqld_safe --datadir=/my_data/sysinfo --pid-file=/my_data/sysinfo/iccsdb01.pid
 
mysql    11616 11404  0 14:13 pts/1    00:00:00 /home/mysql/sysinfo/mysql/bin/mysqld --basedir=/home/mysql/sysinfo/mysql --datadir=/my_data/sysinfo --plugin-dir=/home/mysql/sysinfo/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/my_data/sysinfo/iccsdb01.pid --socket=/var/lib/mysql/mysql.sock

由上可知mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,
 
但Linux系统总是去/tmp/mysql.sock查找,所以会报错
 
解决方法一
 
1、创建连接文件到指定目录上
 
ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock
 
2、测试连接成功登陆
 
[root@iccsdb01 /]# mysql -u root -p
 
Enter password:
 
Welcome to the MySQL monitor.  Commands end with ; or \g.
 
Your MySQL connection id is 5
 
Server version: 5.7.18 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
 
affiliates. Other names may be trademarks of their respective
 
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>
 
解决方法二
 
  修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下:
 
[mysqld]
 
datadir=/my_data/sysinfo
 
socket=/var/lib/mysql/mysql.sock
 
...省略n行...
 
[client]
 
default-character-set=utf8
 
socket=/var/lib/mysql/mysql.sock
 
[mysql]
 
default-character-set=utf8
 
socket=/var/lib/mysql/mysql.sock
 
修改完后,重启mysqld服务,即可解决此问题。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章