1

私はリモート開発サーバーで作業しています。そのリモートサーバーのmysqlホスト名、db名、ユーザー名、パスワードがあります。ローカルphpmyadminでその開発サーバーmysqlをセットアップ/複製/マップして、リモートサーバーdbにローカルでアクセスできるようにします(例:-/ mylocalip / remote-server-db)。したがって、ssh接続を実行してターミナルでmysqlを開く必要はありません。phpmyadmin/config.inc.phpでこれを行うにはどうすればよいですか。

例を通してもう一度説明させてください。リモートサーバーdbに213.81.203.130/phpmyadminからアクセスできるとします。マッピング(192.168.10.140/remote-db)を作成して、エイリアス名を介してローカルIPからそのデータベースにアクセスしたいと思います。基本的に、これはphpmyadmin/config.inc.phpまたはconfig.db.phpにある種のコードを追加することで実行できます。しかし、それをどのように行うかはわかりません。

4

2 に答える 2

1

これを設定するには3つの方法があります

方法 #1 : MySQL レプリケーション

スレーブにこのオプションがある MySQL レプリケーションをセットアップする

replicate_do_table=mydb.mytable

次に、実行する DML (INSERT、UPDATE、DELETE) または DDL (ALTER TABLE) は、すぐに serverB に送られます。これにより、方法 1 が最速かつ最もきめ細かいアプローチになります。

方法 #2 : テーブルを他のサーバーにコピーする

再ハッシュするのではなく、RolandoMySQLDBA 氏がこのメソッドに対して 2011 年 5 月 31 日に行った以前の投稿を次に示します。[How do you copy a table from MySqlServer_A to MySqlServer_B?][1]

方法 #3 : FEDERATED テーブル (MyISAM のみ)

serverA の mytable が次のようになっているとします。

CREATE TABLE mydb.mytable ( ... ) ENGINE=MyISAM;

このようにserverAでこれを実行することにより、serverBのターゲットテーブルのマッピングを行うことができます

CREATE TABLE 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 に答える
1

ターミナルの使用を避けたい場合は、MySQL Workbenchを使用してデータベースに接続してみませんか?

アップデート

この質問に対するすべての見解に照らして、質問により正確に一致するソリューションを追加しています。このリンクを参照してください。役立つと思います。追加のサーバーを追加するには、phpmyadmin config.inc.php ファイルを編集する必要があります。これは、localhost 接続を維持し、リモート db 接続を追加する方法です。phpmyadmin へのログイン画面のドロップダウンからサーバーを選択するだけです。

于 2013-02-21T07:14:23.057 に答える