mysql多实例:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tep/mysql.sock

仅针对mysql多实例,其他情况可能不是这个原因。

一,问题描述
使用多个文件配置完多实例后我在/data/3306/文件夹下使用mysql start(mysql是启动服务的脚本,等同于/etc/init.d/mysqld) 出现error :Can’t connect to local MySQL server through socket ‘/application/mysql-5.5.32/tmp/mysql.sock’

多实例结构
tree /data/
/data/
├── 3306
│ ├── data mysql数据文件目录
│ ├── my.cnf 配置文件
│ └── mysql 服务启动文件
└── 3307
├── data
├── my.cnf
└── mysql

[root@www 3307]# pwd;mysql start
/data/3307
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/application/mysql-5.5.32/tmp/mysql.sock' (2)

二,问题分析
当我在命令行下输入mysql start时,并没有执行/data/3306/下的mysql脚本文件,虽然我已经进入了/data/3306/目录。原来shell命令行把这个mysql当成命令处理了(命令行把没有具体路径的字符串都当做命令处理),就如mysql -uroot -p 这个命令里的mysql一样。

三解决问题
在文件前加上具体路径,
/data/3306/mysql start
或者
cd /data/3306
./mysql start (.是当前目录,就是3306)

这个道理和在mysql/scripts/文件夹下初始化时
./mysqld_install_db是一样de

猜你喜欢

转载自blog.csdn.net/gao_zhennan/article/details/79185314