1. 程式人生 > 資料庫 >mysql本地登入無法使用埠號登入的解決方法

mysql本地登入無法使用埠號登入的解決方法

最近在使用linux上進行本地登入時,發現既然無法正常登入,報如下錯誤資訊:

[root@xxxx ~]# mysql -h localhost -u root -p -P 3306
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

分析:使用mysql --verbose --help進行分析,才發現原來port和socket對應的值都為0或者為空,也就是預設引數都沒有。

[root@UHDEV013 ~]# mysql --verbose --help |grep socket
 --protocol=name   The protocol to use for connection (tcp,socket,pipe,-S,--socket=name  The socket file to use for connection.
           The buffer size for TCP/IP and socket communication.
socket               
[root@xxxxx ~]# mysql --verbose --help |grep port
 -P,--port=#    Port number to use for connection or 0 for default to,in
port               0

而mysql登入時,是需要從配置檔案中查詢相關的引數,然後才能取到預設引數的,引數檔案的位置如下:

對於直接使用在命令列使用-P 追加的引數 ,為何管不用,目前 我也不知道什麼原因。

[root@UHDEV013 ~]# mysql --verbose --help |grep my.cnf
           order of preference,my.cnf,$MYSQL_TCP_PORT,/etc/my.cnf /etc/mysql/my.cnf /usr/haier/mysql/etc/my.cnf /usr/haier/mysql/my.cnf ~/.my.cnf

解決方法:

在/etc/my.cnf檔案中,在[client]中新增socket引數即可,只新增port引數不管用。原因目前不清楚。

總結

以上所述是小編給大家介紹的mysql本地登入無法使用埠號登入的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!