免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2155 | 回复: 4

[系统管理] mysql -P参数失效 [复制链接]

论坛徽章:
9
射手座
日期:2014-07-29 13:05:07双子座
日期:2015-01-11 17:01:522015年亚洲杯之朝鲜
日期:2015-02-01 16:14:282015亚冠之阿尔艾因
日期:2015-06-04 17:54:40数据库技术版块每日发帖之星
日期:2015-08-02 06:20:00数据库技术版块每日发帖之星
日期:2015-10-28 06:20:00数据库技术版块每日发帖之星
日期:2015-11-26 06:20:0015-16赛季CBA联赛之天津
日期:2016-06-20 17:09:2015-16赛季CBA联赛之青岛
日期:2017-02-26 15:54:19
发表于 2015-07-09 15:16 |显示全部楼层
本帖最后由 stupid_lee 于 2015-07-09 15:18 编辑

mysql是装的2个实例


[root@my55 ~]# head -20 /etc/my.cnf
[client]
port                                = 3306
socket                                = /data/mysql1/data/mysql.sock
user                                = root

[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user       = root
#password   = A123!@#b200
.............


启动mysql后
mysql -Pxxxx,xxxx为任何数字,都能连接上mysql,并且进入的是3306端口的实例于是修改mysql配置文件:

[root@my55 ~]# head -20 /etc/my.cnf
[client]
#port                                = 3306
#socket                                = /data/mysql1/data/mysql.sock
#user                                = root


[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user       = root
#password   = A123!@#b200
.............

重启mysql后再次测试
[root@my55 ~]# mysql -P3306
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)             #此时好像只能通过 -S path/to/mysql.sock 登录

[root@my55 ~]# mysql -S /data/mysql1/data/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.88-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


问题1、为什么在配置文件有client段的时候,mysql -P 会忽略-P后面的端口号直接进入了3306 ?
问题2、为什么注释掉clent段,不能通过制定端口(-P)登录,而必须制定socket文件?








论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
发表于 2015-07-09 15:23 |显示全部楼层
加个 -h 指定主机试试, 不加 -h , 默认貌似是通过 socket 连接的

论坛徽章:
9
射手座
日期:2014-07-29 13:05:07双子座
日期:2015-01-11 17:01:522015年亚洲杯之朝鲜
日期:2015-02-01 16:14:282015亚冠之阿尔艾因
日期:2015-06-04 17:54:40数据库技术版块每日发帖之星
日期:2015-08-02 06:20:00数据库技术版块每日发帖之星
日期:2015-10-28 06:20:00数据库技术版块每日发帖之星
日期:2015-11-26 06:20:0015-16赛季CBA联赛之天津
日期:2016-06-20 17:09:2015-16赛季CBA联赛之青岛
日期:2017-02-26 15:54:19
发表于 2015-07-09 15:30 |显示全部楼层
回复 2# reyleon


   6哥威武,我这里测试也是这样的,必须有-h才行

论坛徽章:
11
射手座
日期:2015-08-11 16:10:26辰龙
日期:2015-08-11 16:11:11黑曼巴
日期:2016-04-26 16:58:40
发表于 2015-07-09 15:33 |显示全部楼层
个人猜测
mysql没有-h时默认以socket连接,默认socket文件为/var/lib/mysql/mysql.sock,所以当你配置文件没有client,mysql -P3306时,报错找不到socket
当配置文件有设置client socket位置时,mysql -Pxxxx会根据配置文件找到/data/mysql1/data/mysql.sock,相信这个是3306的实例,socket连接会优先于port吧。

论坛徽章:
9
射手座
日期:2014-07-29 13:05:07双子座
日期:2015-01-11 17:01:522015年亚洲杯之朝鲜
日期:2015-02-01 16:14:282015亚冠之阿尔艾因
日期:2015-06-04 17:54:40数据库技术版块每日发帖之星
日期:2015-08-02 06:20:00数据库技术版块每日发帖之星
日期:2015-10-28 06:20:00数据库技术版块每日发帖之星
日期:2015-11-26 06:20:0015-16赛季CBA联赛之天津
日期:2016-06-20 17:09:2015-16赛季CBA联赛之青岛
日期:2017-02-26 15:54:19
发表于 2015-07-09 15:39 |显示全部楼层
回复 4# hjfeng1988

应该就是这个样子的,我grant授权后远程主机-h登录就能够使用 -P指定端口了


我怎么就猜不到呢


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP