O phpMyAdmin pode se conectar a um banco de dados remoto apenas configurando-o com o host, usuário e senha da máquina remota. Enquanto a porta do MySQL estiver aberta no host, o MySQL rodando lá está configurado para permitir conexões de rede, e seu usuário tem permissão para estar conectado remotamente.
Na máquina rodando o phpMyAdmin ou qualquer outra máquina (não o servidor MySQL), execute o cliente da linha de comando para testar se a conexão é possível:
$ mysql -h<ip> -u<user> -p<password> <database>
Onde ip é o IP do servidor MySQL, database é o nome do seu banco de dados e user e password são as credenciais do usuário no MySQL. Isso deve lhe dar o prompt do cliente mysql no sucesso. Ou uma descrição adequada do erro.
UPDATE
O servidor MySQL geralmente é configurado para escutar apenas um soquete local. Não liga a porta TCP 3306 por padrão. Para configurá-lo corretamente, você precisa editar o arquivo de configuração do servidor (geralmente /etc/my.cnf)
[mysqld]
bind-address = 10.0.0.5
Você tem que substituir o IP neste exemplo pelo endereço IP do seu servidor. E você tem que verificar que a opção "skip-networking" não está ativada. Porque isso impediria a ligação do MySQL ao IP configurado.
Após a reinicialização, você pode verificar se o MySQL está escutando com este comando no shell de um servidor:
# netstat -nap | grep mysqld
tcp 0 0 10.0.0.5:3306 0.0.0.0:* LISTEN 3547/mysqld
unix 2 [ ACC ] STREAM LISTENING 13554 3547/mysqld /var/lib/mysql/mysql.sock
Você precisa ver uma linha como a primeira saída aqui. O número 3306 é a porta padrão do MySQL e você precisa abri-lo para conexões TCP de entrada, se tiver um firewall protegendo o servidor.
Depois disso, você poderá se conectar ao MySQL. Mas ainda assim você pode ter problemas ao efetuar login se suas permissões não estiverem definidas corretamente. Os usuários do MySQL possuem nome de usuário e host no formato user @ host, portanto, se você criar um usuário my_user @ localhost e tentar efetuar login de qualquer coisa diferente de localhost, o acesso será negado. Vamos supor que seu cliente esteja executando uma máquina com o endereço IP 10.0.0.33 e você queira dar permissão para acessar um banco de dados. Seu usuário deve ser [email protected] ou my_user @% sendo o segundo um usuário irrestrito para conexão de qualquer máquina. O que é melhor evitar se você souber de antemão o IP do seu cliente.