怎么解决localhost无法链接本地mysql数据库问题

 我来答
匿名用户
2015-08-03
展开全部
首先在本地使用Navicat for MySQL建立一个数据库。

在dreamweaver中建立一个PHP格式的网页,方便链接测试。

测试发现,如果无法使用localhost链接mysql数据库就会提示错误信息

如果出现第三步的情况,就需要修改C:\Windows\System32\drivers\etc目录下的hosts文件。

用记事本打开hosts,
找到127.0.0.1 localhost这一行,把这一行的“#”删除,保存。
如果没有这一行,就自己手动添加。

保存后,再使用之前的网页测试,
这个时候就可以通过localhost链接的本地的mysql数据库了
就烦条0o
2018-07-30 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46493
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
分析:这是典型的socket没有正确设置的情况。
连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下,可以用localhost代表本机127.0.0.1,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中localhost与127.0.0.1也是分开设置的。当设置为127.0.0.1时,系统通过TCP/IP方式连接数据库;当设置为localhost时,系统通过socket方式连接数据库。
解决:首先要看本机MySQL的socket套接字文件在哪里,查看命令是:
mysqld --verbose --help | grep socket
输出结果显示套接字文件的位置,比如:这台服务器显示的是
socket /var/run/mysqld/mysqld.sock
然后修改php的配置文件php.ini与之对应起来就好了。
找到这一项:
mysql.default_socket =
一般来说这一项都是空的,改成:
mysql.default_socket = /var/run/mysqld/mysqld.sock
这里应写上一步查询到的文件,根据你的情况设置。至此php配置就修改好了,如果是CLI(命令行)方式或者CGI方式的话,立即就生效,如果是FASTCGI方式,需要重启一下fastcgi进程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2016-01-16 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

  原因可能是是,数据库连接默认没有采用local socket (named pipe on Windows)的方式,而是采用TCP/IP连接,因此必须知道一个实际的IP地址。而软件连接时数据库用的地址是localhost,一般的操作系统会把localhost映射为127.0.0.1,数据库实际连接的时候用的是127.0.0.1。  

  解决方法:

  1. 修改hosts文件即可,修改映射为127.0.0.1 localhost

  2. 具体的映射文件的位置:c:/windows/system32/drivers/etc/hosts这个文件

  

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式