怎么解决localhost无法链接本地mysql数据库问题
3个回答
2015-08-03
展开全部
首先在本地使用Navicat for MySQL建立一个数据库。
在dreamweaver中建立一个PHP格式的网页,方便链接测试。
测试发现,如果无法使用localhost链接mysql数据库就会提示错误信息
如果出现第三步的情况,就需要修改C:\Windows\System32\drivers\etc目录下的hosts文件。
用记事本打开hosts,
找到127.0.0.1 localhost这一行,把这一行的“#”删除,保存。
如果没有这一行,就自己手动添加。
保存后,再使用之前的网页测试,
这个时候就可以通过localhost链接的本地的mysql数据库了
在dreamweaver中建立一个PHP格式的网页,方便链接测试。
测试发现,如果无法使用localhost链接mysql数据库就会提示错误信息
如果出现第三步的情况,就需要修改C:\Windows\System32\drivers\etc目录下的hosts文件。
用记事本打开hosts,
找到127.0.0.1 localhost这一行,把这一行的“#”删除,保存。
如果没有这一行,就自己手动添加。
保存后,再使用之前的网页测试,
这个时候就可以通过localhost链接的本地的mysql数据库了
展开全部
分析:这是典型的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进程。
连接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。
解决方法:
修改hosts文件即可,修改映射为127.0.0.1 localhost
具体的映射文件的位置:c:/windows/system32/drivers/etc/hosts这个文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询