Linux

如果不通過套接字連接,如何連接 MySQL 伺服器?

  • February 23, 2020

我在共享伺服器上有一個帳戶。我有越獄訪問權限,還有 PhpMyAdmin。

我想通過 SSH 執行 mysql 命令,但出現錯誤:

$ mysql -u mySqlUser -p mySqlPw
無法通過套接字 '/var/lib/mysql/mysql.sock' 連接到本地 MySQL 伺服器

我可以連接 PHP 和 phpMyAdmin,那麼**是否可以從 shell 呼叫 mysql 並通過 ip 和埠而不是套接字連接?**該文件/var/lib/mysql/mysql.sock不存在 - 也許這是故意的,唯一的東西/etc/my.cnf

[mysqld]
跳過-innodb

更多資訊

我無權更改系統設置。我在 /var 中搜尋了 mysql.sock 但什麼也沒找到。但是,phpMyAdmin 可能以某種方式通過套接字連接:

圖片

真的,如果我可以通過 IP 連接那就太好了。

還嘗試了這兩種語法:

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

兩者都具有相同的結果:

ERROR 2002 (HY000): 無法通過套接字 '/var/lib/mysql/mysql.sock' 連接到本地 MySQL 伺服器 (2)

您缺少協議參數:

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

或者

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

兩者應該相同(localhost:3306 是預設值)

mysql(1)手冊頁:

  ·   --host=host_name, -h host_name

      Connect to the MySQL server on the given host.

引用自:https://serverfault.com/questions/284357