mysql可以远程访问 但是不能本地访问

JasonLeemz 发布于 2012/05/06 11:33
阅读 11K+
收藏 1

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

远程可以访问  但是本地连接就不行了  在命令行mysql -u XXX -p输入密码后提示 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
加载中
0
大东哥
大东哥

引用来自“李明泽”的答案

引用来自“勇者天空”的答案

确保my.cnf里面

[client]

socket = xxxxxxxxxxxx

[mysqld]

socket = xxxxxxxxxxxx

一致,并且没遗漏

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

这个是我的/etc/my.cnf下面的内容  现在没有
[client]
socket =/var/lib/mysql/mysql.sock


加上上面的话 

# source /etc/my.cnf

-bash: [mysqld]: command not found

-bash: symbolic-links=0: command not found

-bash: [client]: command not found

-bash: socket: command not found

-bash: [mysqld_safe]: command not found

-bash: log-error=/var/log/mysqld.log: 没有那个文件或目录

-bash: pid-file=/var/run/mysqld/mysqld.pid: 没有那个文件或目录


你客户端提示是去连 /tmp/mysql.sock

你看看你的配置的socket配的明显不对应.

可以试试 mysql -u XXX -p -S /var/lib/mysql/mysql.sock

0
JasonLeemz
JasonLeemz

来人帮帮我啊  ......

确实问题有点怪  本地不能访问  但是远程可以  

0
deleted
deleted

确保my.cnf里面

[client]

socket = xxxxxxxxxxxx

[mysqld]

socket = xxxxxxxxxxxx

一致,并且没遗漏

0
大东哥
大东哥
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
JasonLeemz
JasonLeemz

引用来自“勇者天空”的答案

确保my.cnf里面

[client]

socket = xxxxxxxxxxxx

[mysqld]

socket = xxxxxxxxxxxx

一致,并且没遗漏

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

这个是我的/etc/my.cnf下面的内容  现在没有
[client]
socket =/var/lib/mysql/mysql.sock


加上上面的话 

# source /etc/my.cnf

-bash: [mysqld]: command not found

-bash: symbolic-links=0: command not found

-bash: [client]: command not found

-bash: socket: command not found

-bash: [mysqld_safe]: command not found

-bash: log-error=/var/log/mysqld.log: 没有那个文件或目录

-bash: pid-file=/var/run/mysqld/mysqld.pid: 没有那个文件或目录


0
JasonLeemz
JasonLeemz
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
O
Ophites
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
JasonLeemz
JasonLeemz

引用来自“大东哥”的答案

引用来自“李明泽”的答案

引用来自“勇者天空”的答案

确保my.cnf里面

[client]

socket = xxxxxxxxxxxx

[mysqld]

socket = xxxxxxxxxxxx

一致,并且没遗漏

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

这个是我的/etc/my.cnf下面的内容  现在没有
[client]
socket =/var/lib/mysql/mysql.sock


加上上面的话 

# source /etc/my.cnf

-bash: [mysqld]: command not found

-bash: symbolic-links=0: command not found

-bash: [client]: command not found

-bash: socket: command not found

-bash: [mysqld_safe]: command not found

-bash: log-error=/var/log/mysqld.log: 没有那个文件或目录

-bash: pid-file=/var/run/mysqld/mysqld.pid: 没有那个文件或目录


你客户端提示是去连 /tmp/mysql.sock

你看看你的配置的socket配的明显不对应.

可以试试 mysql -u XXX -p -S /var/lib/mysql/mysql.sock

确实是这个问题  谢谢你了  解决了

我把/tmp/mysql.sock换成了 /var/lib/mysql/mysql.sock的软连接  就好使了

本地不能访问的原因是可能是没有给用户本地访问的权限 (Host字段值为%)  请问%不是万能的吗

0
大东哥
大东哥
按照你这现象, 本地不能访问的原因, 是sock找错地方了, 不是其它的.
0
JasonLeemz
JasonLeemz

引用来自“大东哥”的答案

按照你这现象, 本地不能访问的原因, 是sock找错地方了, 不是其它的.
但是用root就可以了
大东哥
大东哥
那就请拨110吧, 呵呵.
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部