我是 Ubuntu 新手,正在使用Ubuntu 服务器 14.40 LTS。我尝试连接我的 MySQL 数据库以在 PHP 文件上显示数据库数据,但无法连接。此外,Could Not Connect: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
当我打开该 PHP 文件时出现错误,当我打开 PhpMyAdmin 时出现#2002 Cannot log in to the MySQL server
错误Connection for controluser as defined in your configuration failed.
刚安装完 Ubuntu 后,我在服务器外打开我的 PHP 页面,然后无法连接数据库,甚至没有任何错误。然后在 Google 上搜索,我改为bind-address = 127.0.0.1
允许# bind-address = 127.0.0.1
连接,
/etc/mysql/my.cnf
但之后我得到了上述两个错误。
我的连接文件如下...
<?php
$host = "localhost";
$username = "my_username";
$password = "my_password";
$dbname = "my_database";
$connection = mysql_connect($host,$username,$password);
if (!$connection) {
die('Could Not Connect: ' . mysql_error());
}
mysql_select_db($dbname) or die(mysql_error());
mysql_query("SET NAMES utf8");
?>
此外,我port 80
的 ISP 被阻止,我正在使用port 7550
Apache。我还有一个动态 IP。请考虑这些限制并告诉我如何连接到 mysql 服务器?请使用终端回答。
答案1
我自己也尝试过,在发布问题后,我按照下面的步骤成功了。这对我来说是有效的。你也可以试试。
- 在 Ubuntu 中打开终端。
- 类型
mysql -u root -p
- 输入您的 SQL 密码
- 类型
> grant all privileges on DATABASE_NAME.* to USERNAME@IPADDRESS identified by 'PASSWORD';
- 或者
- 类型
> grant all privileges on DATABASE_NAME.* to USERNAME@localhost identified by 'PASSWORD';
- 使用您的数据更改
USERNAME
,IPADDRESS
, 。PASSWORD
- 类型
FLUSH PRIVILEGES;
- 现在重新开始 SQL 输入
sudo service mysql start
- 关闭终端。
此后,您也可以将数据库从外部连接到服务器。如果您有更好的贡献,也请分享。
注意:请记住,您必须更改bind-address = 127.0.0.1
为# bind-address = 127.0.0.1
允许连接/etc/mysql/my.cnf
。