在Debian上启用与MySQL数据库的远程连接

jQu*_*ast 3 mysql phpmyadmin remote-connection

我在Debian Lenny 5.0上安装了MySQL数据库,我正在尝试使用PHP远程连接到该数据库.

这是我登录的方式:

$con = mysql_pconnect("MY_IP_ADDRESS","root","MY_PASSWORD");
if (!$con)
die('Could not connect: ' . mysql_error());
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Could not connect: Access denied for user 'root'@'li273-10.members.linode.com'
(using password: YES)
Run Code Online (Sandbox Code Playgroud)

其中林不知道为什么我的Linode用户在那里出现.

为了启用远程连接,我使用了本教程:http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

我注意到的另一件事是,在MySQL的phpmyadmin中我有这个:

Server: localhost via TCP/IP
Server version: 5.0.51a-24+lenny5
Protocol version: 10
User: root@mycooldb
Run Code Online (Sandbox Code Playgroud)

我认为localhost必须是我服务器的IP地址?

我做错了什么?

从教程中没有用的东西很少:

保存所有规则:service iptables save不起作用.我收到此错误:

-bash: service: command not found
Run Code Online (Sandbox Code Playgroud)

最后,当我做mysql -u webadmin -h MY_IP -p我得到这个: 在此输入图像描述

jas*_*bar 5

您还需要为远程用户创建用户/权限.可能root用户的权限仅定义为root @ localhost.

您需要定义用户权限,例如:user @%或user@li273-10.members.linode.com.

http://dev.mysql.com/doc/refman/5.0/en/create-user.html

您可能不希望提供超级用户帐户(在本例中为root)远程访问.

您的主机名出现在身份验证行中,因为您实际以user @ hostname身份连接到db.