我正在尝试从Ubuntu远程访问phpMyAdmin,而不是通过Ubuntu droplet(DigitalOcean)上的localhost。要做到这一点,我需要更改/etc/phpmyadmin中config.ini.php的设置。
运行以下代码时:
<?php
$link = mysqli_connect("ip_address", "username", "password", "mysql")
if (!$link) {
echo "Error: Unable to connect to MySql" . PHP_EOL;
exit;
}
echo "Success: Connected to MySQL" . PHP_EOL;
echo "Host Information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>
我得到了"mysqli_connect():(HY000/2002):连接被拒绝..."
在config.ini.php中配置的提示,这样我就可以使用IP地址来连接?
3条答案
按热度按时间dba5bblo1#
如果可以的话我会发表评论。基本上这就是你所追求的。
MySQL root access from all hosts
因此,您需要首先将表mysql的权限授予root或您在本例中使用的用户名。
GRANT ALL PRIVILEGES ON mysql.* TO 'username'@'%' IDENTIFIED BY 'password';
然后您需要编辑mysql配置文件
nano /etc/mysql/mysql.conf.d/mysqld.cnf
注解掉
#bind-address = 127.0.0.1
,然后保存配置文件。重新启动mysql
service mysql restart
nzkunb0c2#
首次调试:您的数字海洋是否可以通过全球地址访问?第二件事:你使用mysqli_connect();你传递的参数为"ip_address","username","password","mysql"-〉这意味着你不传递变量,但字面上的字符串ip_adresss;这是为了堆栈溢出吗?
第三件事:在现代的mysql版本中,ROOT用户应该有密码,并且mysql_server服务应该启用localhosts以外的主机。尝试调试。检查端口:默认为3306
第四件事:不要使用mysqli_connect。在项目中尝试PDO或Doctrine
wgmfuz8q3#
1.使MySQL服务器对远程访问连接开放
nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到
bind-address
选项,更改为1.配置phpMyAdmin以使用远程连接
如果您使用phpMyAdmin v5+,首先,您必须将config.sample.inc.php重命名为config.inc.php
如果你有一个旧的-只要编辑config.inc.php
找到
$cfg['Servers'][...]
数组并添加到PROFIT.转到你的phpMyAdmin并查看选择远程连接的登录表单。