论坛首页 综合技术论坛

mysql远程连接失败的解决方法

浏览 3804 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-29   最后修改:2011-04-29

今天搭建LAMPLinuxapachemysqlphp)环境,由于mysql数据库和php不在同一台电脑上,apache连接mysql时报错。

查看mysql数据库下的user

原来是mysql没有开启远程登录,只能在本地登录,由于对mysql不熟悉,上网找了写解决方法,update user set host=’%’ where user=’root’,但是执行这个操作之后,远程可以连接mysql了,但是本地登录提示密码错误。

查看user表信息

发现本地登录用的是localhost,不需要密码

 

不输入密码直接登录,可以连接,证明自己的猜测是对的,但是show databases看不到之前的数据库。

 

原来是localhost没有权限导致的,看来直接update user set host=’%’ where user=’root’是不行的,更改其中的一个%127.0.0.1试下

还是不行,如果将另一个%改回localhost,本地可以登录。

但是远程又访问不了了,该怎么办呢?看了下mysql官方的提示,原来这么简单,只需要一个grant语句就可以了。

grant all privilegesI on dbcenter.* to root@'%' identified by 'zhcw123';

执行flush privileges;使操作立即生效,查mysql数据库下的user表,原来是在user表里加了一条新记录,而不是直接update

困扰两天的问题终于解决啦!

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics