如果不通过套接字连接,如何连接MySQL服务器?

我有一个共享服务器上的帐户。 我有jailshell访问和PhpMyAdmin。

我想通过SSH运行mysql命令,但我得到一个错误:

 $ mysql -u mySqlUser -p mySqlPw
无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地MySQL服务器

我可以连接PHP和phpMyAdmin,所以将有可能从shell调用MySQL,并通过IP和端口,而不是连接sockets连接? 文件/var/lib/mysql/mysql.sock不存在 – 也许这是故意的,而/etc/my.cnf唯一的是

的[mysqld]
跳跃式的InnoDB

更多信息

我无权更改系统设置。 我在/ var中查找了mysql.sock,但什么也没find。 但是,phpMyAdmin可能会通过套接字以某种方式连接:

图片

真的,如果我可以通过IP进行连接,那就太好了。

还尝试了这两个语法:

 $ mysql -u mySqlUser -p mySqlPw -h localhost
 $ mysql -u mySqlUser -p mySqlPw -h localhost -P 3306

两者都有相同的结果:

错误2002(HY000):无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地MySQL服务器(2)

您缺less协议参数:

 mysql --protocol=tcp -u mySqlUser -p mySqlPw 

要么

 mysql -u mySqlUser -p mySqlPw -h localhost --protocol=tcp -P 3306 

两者应该是相同的(localhosst:3306是默认值)

mysql(1)手册页:

  · --host=host_name, -h host_name Connect to the MySQL server on the given host. 

$ mysql -u … -p … -h 127.0.0.1

要么

$ mysql -u … -p … -h hostname.example.com

我相信这个防止使用套接字,使用-h localhost使用套接字。 另一个选项,查找服务器上的mysql.sock文件然后…

$ mysql -u … -p … -S /path/to/mysql.sock