2017-07-10 19 views
0

葉からそれを照会することはできません。 ssh経由で何の問題もなく実行しています。しかし、PHPで同じクエリをプログラムで実行しようとすると、「テーブル 'memsql_example.employees'は分散テーブルです。リーフからクエリできません」というエラーが表示されます。MemSQL:テーブルは分散テーブルです。私はMemsqlクライアント内からデータベースを照会することができ</p> <p><a href="https://docs.memsql.com/v5.8/docs/how-to-run-queries" rel="nofollow noreferrer">MEMsql - how to run queries</a></p> <p>:あなたは、私がテストのために、単一のサーバー上にMemSQLをインストールしているし、この例で説明したように3つのテーブルを作成している

そのエラーを生成するPHPコードは以下の通りです:私はむしろ127.0.0.1よりますがなく、サーバーのIPを指すように$ DBHOSTを変更することにより、他のサーバから上記のスクリプトを実行しようとしました

<?php 

    $dbHost="127.0.0.1"; 
    $dbUser="root"; 
    $dbPass=""; 
    $dbName="memsql_example"; 
    $dbPort=3307; 

    // Connect to database 
    $mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbName, $dbPort); 
    if ($mysqli==false) die ("Error connecting to database\n"); 

    $sql="select count(*) from employees;"; 
    $result=$mysqli->query($sql); 
    if (!$result) { 
    printf("Errormessage: %s\n", $mysqli->error); 
    die(); 
    } 

?> 

同じエラーが発生すると成功します。

私は時間のために、この見つめてきた - 私が間違っているのでしょうか?事前に

おかげ... MemSQLで

答えて

0

クエリは、デフォルトでは、デフォルトで葉される、あなたはポート3307を照会しているように見えますポート3306上で実行されますアグリゲータ、に対して指向されなければなりませんあなたの設定。

+0

ああおかげでロブは、私はそれと一緒にMySQLを実行することができるように、私は明日を再インストールしますポート3306にどのデフォルト3307に行ってきました(それは遅ここだ)と私は見ああ再び –

+0

それをテストします。 3306でMySQLを実行している場合、MemSQLはできません。インストール中にMemSQLポートを変更しましたか? –

+0

私は実際に3306を使って2つの異なるマシン(1つはクラスタとして動作し、もう1つはリーフとして動作させる)に入れました。私はこのチュートリアルが役に立たなかったので、このチュートリアルが役に立ちました。私は締めくくりの締めくくりをしています.... http://blog.programster.org/setup-a-memsql-cluster-in-debian-8/ –

関連する問題

 関連する問題