【www.2003.com】mysql本地登录无法使用端口号登录的

2019-07-17 作者:计算机教程   |   浏览(128)

最近在使用linux上进行本地登录时,发现既然无法正常登录 , 报如下错误信息:

一、问题

  1、学习mysql时,我先安装了一个mysql5.5.27;

  2、然而学习php时,当我安装wampserver2.2时,wampserver2.2又在电脑上安装了mysql5.5.20;

  由于我设置了这两个版本的数据库密码一样,现在我启动mysql数据库时,电脑总是连接mysql5.5.20版本,怎么切换到mysql5.5.27这个版本呢?

[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数据库安装时,默认设置端口号(port=3306),因而后安装的mysql5.5.20也占用了mysql5.5.27的端口号,所以启动不了mysql5.5.27版本。

分析:使用mysql --verbose --help进行分析,才发现原来port和socket对应的值都为0或者为空,也就是默认参数都没有。

1、修改mysql5.5.20安装目录下

    www.2003.com 1

  将这些文件里所有port值设置为port  = 3308,当然也可以设置为其他的;

[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

2、修改端口号后,我们可以根据端口号启动不同版本的mysql,

  命令:mysql -u root -P端口号 -p

  注意如果不写端口号,默认从端口号3306启动它对应的mysql。

  例如:

  •   使用默认端口号,启动mysql5.5.27

  www.2003.com 2

  •      使用3308端口号,启动mysql5.5.20

  www.2003.com 3

 

以后,安装多个版本mysql时,也可以使用此方法为不同版本mysql设置不同的端口号,然而根据端口号启动相应的mysql。

参考:http://m.oschina.net/blog/143159

 

总结:

www.2003.com 4

 

 

附注:

   如果想修改mysql密码,可以参考:http://blog.sina.com.cn/s/blog_a9b4805a01011mqt.html

而mysql登录时,是需要从配置文件中查找相关的参数,然后才能取到默认参数的,参数文件的位置如下:

对于直接使用在命令行使用-P 追加的参数 ,为何管不用,目前 我也不知道什么原因。

本文由www.2003.com发布于计算机教程,转载请注明出处:【www.2003.com】mysql本地登录无法使用端口号登录的

关键词: