千家信息网

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

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本文主要给大家介绍连接mysql数据库报错情况分析,文章内容都是笔者用心摘选和编辑的,连接mysql数据库报错情况分析具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下主题内容吧。1
千家信息网最后更新 2024年11月11日连接mysql数据库报错情况分析

本文主要给大家介绍连接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/sysinfosocket=/var/lib/mysql/mysql.sock...省略n行... [client]default-character-set=utf8socket=/var/lib/mysql/mysql.sock [mysql]default-character-set=utf8socket=/var/lib/mysql/mysql.sock

修改完后,重启mysqld服务,即可解决此问题。

看完以上关于连接mysql数据库报错情况分析,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

0