远程mysql服务器?

我正在试图在我的电脑上创build一个远程mysql服务器。 我知道这不是一个明智的做法,但我正在尝试。 我不确定在这里完成的步骤,但也许有人可以填补我的。 首先,我有MySQLpipe理员安装在我的电脑上的MySQL。 然后我有端口3306端口转发。 当我login到我的MySQLpipe理员或查询浏览器我login为本地主机。 现在我知道有更多的步骤,因为MySQL仍然不公开。 有人可以帮我填补吗?


好吧,我找不到我的my.cnf文件! 我已经通过MySQL Server 5.1和我所有的MySQL目录,但我找不到它。 我甚至没有一个etc目录…

geoff的答案完全不适合你想要做的事情(如果你只是连接到你的IP地址,那就不必要了)。 我知道,因为我只是设置我的第一个数据库远程访问呢! 有一件事需要完成,就是创build你的my.cnf文件(根据你的发行版和操作系统检查文件的位置)。 我看起来像这样:

[client] port=3306 socket=/var/lib/mysql/mysql.sock [mysqld] port=3306 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 bind-address=""MY IP ADDRESS HERE"" #bind-address=0.0.0.0 [mysql] prompt="\U>" prompt=(\\u@\\h) [\\d]>\\_ [mysqld_safe] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 

重要的部分是端口(虽然我有默认端口)和绑定地址。 列出的绑定地址将是您的IP地址。 注释掉0.0.0.0是IP地址的通配符。

在连接到mysql数据库之前,你必须给你连接的用户提供这样的权限。 像下面的东西会让你开始:

 GRANT ALL PRIVILEGES ON *.* for 'root'@'%' IDENTIFIED BY 'db_passwd'; 

*.*是databasename.tablename通配符。 'root'可以是任何用户。 '%'是主机通配符,但是我强烈build议只把你的IP地址( 'root'@'123.123.123.123' )。 您的密码(如果有的话)将是db_passwd ,并在执行该行时包含单引号。 inputFLUSH PRIVILEGES重新加载这些新的权限。

我会使用networking监控程序来检查你是否连接到你的MySQL服务器。 让我们看看如何。 更多的帮助也可以通过谷歌search“mysqlnetworking访问”等,这是我得到它的工作。