? 上一篇下一篇 ?

使用端口號無法登陸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或者為空,也就是默認參數都沒有。

 
1
2
3
4
5
6
7
8
[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 追加的參數 ,為何管不用,目前 我也不知道什么原因。

 
1
2
3
[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參數不管用。原因目前不清楚。