我想访问外部主机上的 MySql 数据库。我已获得所有者的许可,但他们对技术一无所知(看来我也是)。
我查看了 WordPress 代码库,可能在名为 的文件中找到了数据库凭据wp-config.php.default
。其他地方看起来不太可能。
define('DB_NAME', '[redacted]');
define('DB_USER', 'db_user');
define('DB_PASSWORD', '[redacted]');
define('DB_HOST', '[redacted]');
尝试通过命令行连接失败。
$ mysql --host='[redacted]' --user='db_user' --password='[redacted]' '[redacted]'
ERROR 2003 (HY000): Can't connect to MySQL server on '[redacted]' (60)
我的凭证是否错误?如果是,我该如何找到它们?超级管理员界面中没有明显的数据库设置部分。
我的 IP 地址被屏蔽了吗?如果是这样,我该如何配置 WordPress 来接受它?网上的大多数示例已经实现了 Sql 提示。
答案1
您必须授予来自 mysql 服务器上的远程主机的用户访问权限。
本教程将引导您在 MySQL 服务器上设置用户以进行远程连接。
假设以下事项:
You have access to login as the 'root' MySQL user
内容
1 Getting your IP address
2 Granting Access
3 Testing Remotely
4 Notes
获取你的 IP 地址
您需要知道您连接的 IP 地址。要查找此信息,您可以访问以下网站之一:
http://www.ipchicken.com
http://www.whatismyip.com
授予访问权限
授予远程主机用户访问权限相当简单,只需几个步骤即可完成。首先,您需要以 root 用户身份登录 MySQL 服务器。您可以通过输入以下命令来执行此操作:
mysql -u root -p
这将提示您输入 MySQL 根密码。
登录 MySQL 后,您需要发出 GRANT 命令以启用远程用户的访问权限。在此示例中,我们将创建一个拥有 fooDatabase 数据库完全访问权限的全新用户 (fooUser)。
请记住,此语句并不完整,需要更改一些项目。请将 1.2.3.4 更改为我们上面获得的 IP 地址。您还需要将 my_password 更改为您想要用于 fooUser 的密码。
mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';
当新创建的用户 fooUser 从 IP 地址 1.2.3.4 连接时,此语句将向其授予所有权限,密码为“my_password”。
远程测试
现在您可以远程测试连接。您可以从另一台 Linux 服务器访问您的 MySQL 服务器:
mysql -u fooUser -p -h 44.55.66.77
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> _
请注意,在此示例中,我们的 MySQL 服务器的 IP 是 44.55.66.77。
笔记
设置这些远程用户时需要注意以下几点:
设置用户时,本地用户与远程用户不同。例如,fooUser@localhost 与[电子邮件保护]。如果您希望它们具有相同的权限,则必须复制权限。
不建议授予所有权限。对于普通用户来说,使用 GRANT SELECT、INSERT、UPDATE、DELETE 是明智的选择。
如果您只想授予特定表的权限,则可以使用 database.table 而不是 database.*。就我们上面的例子而言,您可以输入 fooDatabase.fooTable。
如果您使用 iptables,则需要在防火墙中为 TCP 端口 3306 创建一个条目。创建防火墙规则时,您可以简单地使用名称“mysql”作为端口号。
来源:http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely
答案2
尝试这个
mysql -h(mysql 服务器的 ip)-u(用户名)-p(密码)
希望这可以帮助!
答案3
很少有 Web 主机开放 MySQL 入站端口,因此您必须确保可以连接到服务器。我猜您有一个运行 php 的 Web 实例,因此您也可以将 phpMyAdmin(基本上是 MySQL 管理员软件)上传到他们的服务器,使用您的 DB 凭据对其进行配置,并通过特定的 URL 访问它。
安装 phpMyAdmin 的方法有很多种,有些 Linux 发行版可以通过简单的命令安装。请检查您尝试访问的服务器中是否未安装 phpMyAdmin。