mysql登录不指定sock文件无法登录

在自己的机器上做了单机多实例的实验。使用下面这条语句启动mysql
mysqld_multi --defaults-extra-file=/data/mysql/etc/my.cnf start 1
能够启动mysql,在my.cnf里我也明确指定了sock的位置
socket = /data/mysql/run/mysqld.sock
但是登录mysql的时候如果不指定mysqld.sock就不能登录,报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)
求大神指教,谢谢

阅读 11.9k
2 个回答

啊哦,审题不清,不好意思,目前能想到的是使用alias,与配置多个[client]段本质一样,形式不同:)

alias mysql1=mysql -udba -p --socket=/xx/mysql.sock
alias mysql2=mysql -udba -p --socket=/xx/mysql.sock

这个最好的方式应该是配置一下 /etc/my.cnf[mysqld]模块的socket,将其配置成/tmp/mysql.sock;
如果提示没有此文件的话,touch /tmp/mysql.sock就OK了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题