1

我正在使用远程开发服务器。我有那个远程服务器的 mysql 主机名、数据库名、用户名、密码。我想在我的本地 phpmyadmin 中设置/复制/映射该开发服务器 mysql,以便我可以在本地访问远程服务器数据库(例如:-/mylocalip/remote-server-db)。因此,我不必进行 ssh 连接并在终端中打开 mysql。我们如何在 phpmyadmin/config.inc.php 中做到这一点。

让我再通过一个例子来解释一下。假设可以通过 213.81.203.130/phpmyadmin 访问远程服务器数据库。我想通过创建一个映射(即 192.168.10.140/remote-db)从我的本地 IP 通过别名访问该数据库。基本上,这可以通过在 phpmyadmin/config.inc.php 或 config.db.php 中添加某种代码来完成。但是我不确定该怎么做。

4

2 回答 2

1

如果你想避免使用终端,为什么不试试MySQL Workbench连接数据库呢?

更新

鉴于对这个问题的所有观点,我正在添加一个更准确地匹配该问题的解决方案。请查看此链接,我相信它会有所帮助。它涉及编辑 phpmyadmin config.inc.php 文件以添加其他服务器。这是保持本地主机连接并添加任何远程数据库连接的方法。只需从登录屏幕的下拉菜单中选择服务器到 phpmyadmin。

于 2013-02-21T07:14:23.057 回答
1

有 3 种方法可以设置它

方法 #1:MySQL 复制

在从站具有此选项的情况下设置 MySQL 复制

replicate_do_table=mydb.mytable

然后,您执行的任何 DML(INSERT、UPDATE、DELETE)或 DDL(ALTER TABLE)将立即转到 serverB。这使得方法#1 是最快和最细粒度的方法。

方法#2:将表复制到另一台服务器

而不是rehash,这是一个较早的帖子,RolandoMySQLDBA 先生在 2011 年 5 月 31 日为这个方法做了:[如何将表从 MySqlServer_A 复制到 MySqlServer_B?][1]

方法 #3:联合表(仅限 MyISAM)

假设 serverA 上的 mytable 看起来像这样

创建表 mydb.mytable ( ... ) ENGINE=MyISAM;

您可以像这样在 serverA 上运行它来映射 serverB 中的目标表

创建表 mydb.mytable_remote LIKE mytable; ALTER TABLE mydb.mytable_remote ENGINE=FEDERATED CONNECTION='mysql://username:password@serverB/mydb/mytable';

于 2013-02-21T07:39:12.267 回答