欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql本地登录无法使用端口号登录的解决方法

程序员文章站 2022-08-10 22:50:39
最近在使用linux上进行本地登录时,发现既然无法正常登录 , 报如下错误信息: [root@xxxx ~]# mysql -h localhost -u root...

最近在使用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本地登录无法使用端口号登录的解决方法,希望对大家有所帮助