一台不是自己安装的mysql数据库,后来接手 想登陆下查看些信息,遇到如下问题
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysqld.sock' (2)
遇到此问题后我的一些分析过程,记录了下和大家分析下。
1.首先查看下路径/data/mysql/里面有没有mysqld.sock这个文件
没有找到mysqld.sock
2.ps -ef|grep mysql查看mysqld的进程,此处指定的文件路径如下。server启动时显示指定了socket
--defaults-file=/home/mysqldba/etc/mysql/my1.cnf
--socket=/data/mysqldata/mysql.sock
3.查看mysql的配置文件,首先/etc/my.cnf 然后是/home/mysqldba/etc/mysql/my1.cnf
这两个配置文件的socket=/var/lib/mysql/mysql.sock 和socket=/data/mysqldata/mysql.sock
都不是/data/mysql/mysqld.sock,然后也找不到其它的配置文件了
4.具体的登陆方案
因为mysql客户端可以通过两种方式连接server 1.socket 2.tcp/ip
所以登陆方案1.mysql -S /data/mysqldata/mysql.sock 可以登陆
也可以在/data/mysql/这个路径上创建个连接 这样就可以找到了ln -s /data/mysqldata/mysql.sock /data/mysql/mysqld.sock
2. 指定tcp/ip协议登陆 这样就不用搜索socket了 mysql --protocol=TCP -u root 这样也可以登陆
5.可以登陆了,那为什么输入mysql命令会在/data/mysql 这个目录查找mysql.sock
5.1 查看安装时的配置参数 进入安装目录/usr/local/myql/docs
more INFO_BIN 查看到 MYSQL_DATADIR:PATH=/data/mysql 安装时指定的的数据路径为/data/mysql
估计是这个影响吧
阅读(2000) | 评论(0) | 转发(0) |