博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【MySQL案件】mysql登录-S失败
阅读量:4679 次
发布时间:2019-06-09

本文共 1896 字,大约阅读时间需要 6 分钟。

1.1.1. mysql登录mysql时间,-S参数失效

【环境的叙述性说明】

mysql5.5.14

【问题叙述性说明】

配置多个实例

 

实例1

实例2

datadir

/home/mysql_3306

/home/mysql_3307

basedir

/usr

/usr

socket

/home/mysql_3306/mysq.sock

/home/mysql_3307/mysq.sock

 

登录实例2的时候,却连接到了实例1:

mysql -S /home/mysql_3307/mysql.sock

> show variables like '%sock%';

+---------------+-----------------------------+

| Variable_name | Value                       |

+---------------+-----------------------------+

| socket        | /home/mysql_3306/mysql.sock |

+---------------+-----------------------------+

 

【问题原因】

mysql命令中的-S參数是用来指定unix_socket,可是此时mysql非常明显没有使用socket。

查看/etc/my.cnf配置文件。发现[client]域配置例如以下:

[client]

host            = 127.0.0.1

尝试改动host=localhost 和凝视掉host。再次尝试登录mysql:

mysql -S /home/mysql_3307/mysql.sock

> show variables like '%sock%';

+---------------+-----------------------------+

| Variable_name | Value                       |

+---------------+-----------------------------+

| socket        | /home/mysql_3307/mysql.sock |

+---------------+-----------------------------+

此时,正常登录上了指定的实例。

 

再次測试登录mysql:

mysql -S /home/mysql_3306/mysql.sock -h 127.0.0.1-P 3307

> show variables like '%sock%';

+---------------+-----------------------------+

| Variable_name | Value                       |

+---------------+-----------------------------+

| socket        | /home/mysql_3307/mysql.sock |

+---------------+-----------------------------+

mysql登录的时候指定的socket是3306port的,host是127.0.0.1,port是3307。登录后。连接的是3307port的实例。

mysql -S /home/mysql_3307/mysql.sock -h127.0.0.1

> show variables like '%sock%';

+---------------+-----------------------------+

| Variable_name | Value                       |

+---------------+-----------------------------+

| socket        | /home/mysql_3306/mysql.sock |

+---------------+-----------------------------+

mysql登录的时候指定的socket是3307port的。host是127.0.0.1,port没有指定,登录后,连接的是3306port的实例。

 

 综上,mysqlclient连接mysql数据库的时候,假设同一时候指定了socket和host的时候,mysql会採使用TCP/IP协议日志。此时socket它将被忽略。默认情况下访问3306port。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/zfyouxi/p/4732846.html

你可能感兴趣的文章
wzplayer for delphi demo截图
查看>>
团队第二周:SRS文档
查看>>
Zookeeper的安装与使用:
查看>>
密码策略限制最大与最小长度
查看>>
正则表达式模式
查看>>
使用iframe实现同域跨站提交数据
查看>>
Mouse点击之后,复制GridView控件的数据行
查看>>
ASP.NET开发,从二层至三层,至面向对象 (2)
查看>>
如何查看自己电脑支持OpenGL core版本
查看>>
页面元素定位 XPath 简介
查看>>
[转]loadrunner:系统的平均并发用户数和并发数峰值如何估算
查看>>
Linux下Tomcat重新启动
查看>>
HTML Table to Json
查看>>
Theano 学习笔记(一)
查看>>
1.7 节点进行排序显示
查看>>
web最佳实践
查看>>
spring 集成shiro 之 自定义过滤器
查看>>
验证密码不允许有连续三位重复的正则表达式
查看>>
python 中对list去重
查看>>
Mono Libgdiplus库
查看>>