我最近使用 Ubuntu 14.04 启动了一个 EC2 AWS Linux 服务器实例。我对 ubuntu 和在服务器上启动网站还很陌生,但以下是我迄今为止所做的(简而言之)。
我成功安装了 LAMP 服务器,并且可以通过在 Chrome 中粘贴实例的 URL 来访问网页及其 phpMyAdmin。
我成功使用位于 /var/www/html 的 nano 编辑了 index.html 文件,并且网站也发生了相应的变化。
我已在 phpMyAdmin 中成功创建数据库,现在想使用 php 和 mysql 访问该数据库。使用 mysqli_connect 函数连接数据库时,连接失败。
我读到,为了将数据库连接到外部服务器,必须在此处编辑 my.cnf 文件:https://mariolurig.com/coding/connect-remotely-mysql-database-amazon-ec2-server/
我无法访问该文件。我使用locate my.cnf并尝试使用cd来访问它,如下所示:
ubuntu@ip-172-31-18-130:/usr/local$ locate my.cnf
/etc/mysql/my.cnf
ubuntu@ip-172-31-18-130:/usr/local$ cd /ect/mysql
-bash: cd: /ect/mysql: No such file or directory
我在这里读到了有关 32 位二进制文件无法在 62 位系统上运行的信息:没有这个文件或目录?但是文件存在!
所以我输入了命令
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
它似乎安装得很好,我注意到的唯一奇怪的事情是安装以这一行结束:处理 libc-bin 触发器(2.19-0ubuntu6.14)...
我又可以在终端上输入命令了。我尝试再次输入 cd /ect/mysql/,但仍然遇到同样的错误。
我注意到,在搜索我的文件目录时,每当我尝试访问 /ect 目录时都会发生错误,例如,发生以下情况:
ubuntu@ip-172-31-18-130:/usr/local$ l
bin/ etc/ games/ include/ lib/ man@ sbin/ share/ src/
ubuntu@ip-172-31-18-130:/usr/local$ cd /usr/local/ect
-bash: cd: /usr/local/ect: No such file or directory
有人知道为什么会发生这种情况以及我该如何解决吗?我已经为此苦苦挣扎了很长时间,我找到的类似问题的解决方案似乎不起作用。任何帮助都将不胜感激
编辑:根据要求,我检查了 /etc 所在的目录权限并得到以下结果:
ubuntu@ip-172-31-18-130:~$ cd /usr/local
ubuntu@ip-172-31-18-130:/usr/local$ l -l
total 32
drwxr-xr-x 2 root root 4096 Sep 13 15:29 bin/
drwxr-xr-x 2 root root 4096 Sep 13 15:29 etc/
drwxr-xr-x 2 root root 4096 Sep 13 15:29 games/
drwxr-xr-x 2 root root 4096 Sep 13 15:29 include/
drwxr-xr-x 4 root root 4096 Sep 13 15:31 lib/
lrwxrwxrwx 1 root root 9 Sep 13 15:29 man -> share/man/
drwxr-xr-x 2 root root 4096 Sep 13 15:29 sbin/
drwxr-xr-x 7 root root 4096 Oct 27 11:58 share/
drwxr-xr-x 2 root root 4096 Sep 13 15:29 src/
答案1
事实证明,我在尝试访问 my.cnf 文件时犯了一个拼写错误。我重新输入了目录,结果发生了以下情况:
ubuntu@ip-172-31-18-130:/var$ cd /etc/mysql
ubuntu@ip-172-31-18-130:/etc/mysql$
我毫无问题地进入了。非常感谢您指出我的愚蠢错误。