phpMyAdmin远程访问

woobm2wo  于 2023-02-16  发布在  PHP
关注(0)|答案(3)|浏览(184)

我正在尝试从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地址来连接?

dba5bblo

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

nzkunb0c

nzkunb0c2#

首次调试:您的数字海洋是否可以通过全球地址访问?第二件事:你使用mysqli_connect();你传递的参数为"ip_address","username","password","mysql"-〉这意味着你不传递变量,但字面上的字符串ip_adresss;这是为了堆栈溢出吗?
第三件事:在现代的mysql版本中,ROOT用户应该有密码,并且mysql_server服务应该启用localhosts以外的主机。尝试调试。检查端口:默认为3306
第四件事:不要使用mysqli_connect。在项目中尝试PDO或Doctrine

wgmfuz8q

wgmfuz8q3#

1.使MySQL服务器对远程访问连接开放
nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address选项,更改为

bind-address = 0.0.0.0

1.配置phpMyAdmin以使用远程连接

如果您使用phpMyAdmin v5+,首先,您必须将config.sample.inc.php重命名为config.inc.php

mv config.sample.inc.php config.inc.php

如果你有一个旧的-只要编辑config.inc.php

nano config.inc.php

找到$cfg['Servers'][...]数组并添加到

$i++;
$cfg['Servers'][$i]['host'] = 'xxx.xxx.xxx.xxx'; //Remote MySQL IP address
$cfg['Servers'][$i]['port'] = '3306'; //or your custom port

PROFIT.转到你的phpMyAdmin并查看选择远程连接的登录表单。

相关问题