我正在尝试获取一个 PHP 脚本来连接到 Asterisks 内部 SQL 数据库。
我尝试使用标准方法例如
$con = mysqli_connect("192.168.1.126","root","mysql","asterisk");
但是,当我登录到 asterisk 服务器来访问 mysql 数据库时,我只需要输入“mysql”就可以登录。
我想知道我的 php 脚本是否可以连接到 asterisk 内部数据库。
//编辑 显示以下 mysql 错误
Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '192.168.1.126' (111) in /var/www/html/project/sipSubScript.php on line 6
Failed to connect to MySQL: Can't connect to MySQL server on '192.168.1.126' (111)
答案1
最终的问题是 mysql 只监听来自 localhost 的连接。因此,要解决问题,请找到您的我的cnf文件应位于/ETC/文件夹。
为了找到它我使用了ls -l 我的*我不确定这个命令是否正确但它还是帮我找到了。
文件内部看起来应如下所示:
[mysqld]
#bind-address = 127.0.0.1 //uncommented this line using #
general_log = 1
general_log_file = /var/log/mysql/mysql.log
datadir=/var/lib/mysql/mysql/sock
user=root
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
接下来您需要重新启动 mysql 并且完成,可以使用以下命令完成:
sudo /etc/init.d/mysqld 重新启动