好的,我已安装 CentOS 5,并在 VirtualBox 中以 GuestOS 的形式运行。Cent 盒的网卡与我的主机 OS 的网卡桥接,以便两个盒可以互相看到。Cent 的 IP 为 192.168.1.108,而我的主机盒的 IP 为 .104。
就网络而言,一切似乎都运行正常,因为我可以通过主机上的 Web 浏览器访问 Cent 盒上的 Drupal 安装,方法是导航至http://192.168.1.108 但是,当我尝试通过 Drupal 安装界面为 Drupal 配置数据库时,出现了无法连接到 MySQL 的错误。
首先,我认为这可能是防火墙问题,所以我停止了 iptables,但没有任何效果。我想也许我设置的用户没有访问服务器的权限,所以我尝试了 root,但没有成功。在网上搜索后,我发现我需要为 my.cnf 提供一个 bind-address 参数,所以我照做了,没有任何变化。(顺便说一句,我的 my.cnf 文件的长度比网上提供的要短得多。事实上,在 mysqld 下,我只有 datadir、socket、user 和 bind-address。这是正常的吗?还是文件应该更详细?)
经过几个小时的权限设置等操作后,我尝试使用“localhost”作为数据库服务器的值,从我的主机操作系统开始,Drupal 安装顺利启动。因此,虽然我的问题已经解决,但我很好奇为什么“localhost”可以工作,而 192.168.1.108 却不行?我需要做些什么才能通过上述 IP 专门访问 MySQL 框吗?
谢谢。
答案1
您颁发了什么授权?MySQL 对待来自本地主机的连接与基于 IP 的连接不同。开箱即用,您可能可以从本地主机以 root 身份连接,无需密码。您是否使用“root”作为登录名?
GRANT ALL ON dbname.* from 'user'@'SOURCE' IDENTIFIED BY 'password';
您正在使用其他用户,对吗?;-P