MySQLのリモート接続に関する質問

このQ&Aのポイント
  • MySQLのデータベースサーバをRedhat9に構築し、他のOSからリモートで接続する方法を教えてください。
  • 必要なクライアントのインストールと設定、リモート接続のコマンドについて詳しく教えてください。
  • ローカルでは接続できるが、リモート接続ができない状況です。助けてください!
回答を見る
  • ベストアンサー

MySQLのリモート接続

こんばんは。 かなり悩んでます。お願いします、助けてください。 今、Redhat9にMySQLのデータベースサーバをつくり、 SolarisやAIXなどからリモートでMySQLサーバに接続することを考えています。 しかし、これまで一度もMySQLに触ったことがなく、何をどうしていいのかさっぱり検討がつかないのです。 そこで、みなさんに質問・・・というかお願いがあります。 MySQLサーバにリモート接続するために ・クライアント側に何をインストールしなきゃいけなくて、 ・サーバ・クライアント両方にどんな設定が必要で、 ・クライアント側からどんなコマンドでどんなオプションをつけたら リモート接続ができるのか教えてください!! もう、一から十まででずうずうしいとは思いますが、ほんとにさっぱりどうしていいかわからないうえに残された時間がないです(T_T) ローカルではMySQLサーバに接続できるので、サーバは動いていると思います。 どうか、細かく根気よくお願いします!!

  • MySQL
  • 回答数1
  • ありがとう数22

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 私も最初はローカルでしか動かしておらず、リモート接続のときに苦労した経験があります^^); > ・クライアント側に何をインストールしなきゃいけなくて クライアント側にもMySQLをインストールする必要があります。 > ・サーバ・クライアント両方にどんな設定が必要で、 クライアント側の設定は特に必要ありません。 サーバ側に、クライアントからアクセスするためのユーザを追加する必要があります。 まずは、rootユーザでmysqlに接続してください。 mysql -u root rootユーザのパスワードを設定している場合は、-pが必要です。 mysql -u root -p 接続した後で以下の2つのコマンドを実行してください。 GRANT ALL PRIVILEGES ON *.* TO [ユーザID]@"%" IDENTIFIED BY '[パスワード]' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO [ユーザID]@localhost IDENTIFIED BY '[パスワード]' WITH GRANT OPTION; (ユーザIDとパスワードには任意の値を入力してください。2つのコマンドでは同一のユーザID、パスワードを指定してください。) 簡単に説明すると以下のとおりです。 データベース名.テーブル名:*.*(全てのデータベースの全てのテーブル) ユーザID:[ユーザID]@"%"(全てのホスト「"%"」の、ユーザ「ユーザID」)      [ユーザID]@localhost(ローカルホストの、ユーザ「ユーザID」) 権限についての詳細は以下のサイトが参考になりますよ。 http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html#tab:grant > ・クライアント側からどんなコマンドでどんなオプションをつけたら クライアントからのアクセスは以下のとおりです。 mysql -u [ユーザID] -p [データベース名] -h [ホスト名] -u ユーザID指定 -p パスワード要求 -h 接続先指定(ホスト名 or IPアドレス) サーバ側で登録したユーザIDで試してみてください。 がんばってくださいね!

ma-chan45
質問者

お礼

で、出来ました!!! 感動です(T□T)!!!ありがとうございます!!!! また今度、近いうちに別の質問でお世話になるかもですが、 またそのときはよろしくお願いしますm(__)m ほんとうにありがとうございました!!

ma-chan45
質問者

補足

ありがとうございます!! ほんとに助かります!! あと、申し訳ないのですが、確認させてください!! >クライアント側にもMySQLをインストールする必要があります。 なんですけど、クライアント側にはmysql-serverはいらないって調べたんですけど、入れたほうが良いのでしょうか? また、mysql以外には何も必要ないということでよいのでしょうか? あと、サーバ側のバージョンが3.23(RedHat9にあるもの)とクライアント側のバージョンが4.0なのですが、バージョンは違っても問題ないでしょうか?

関連するQ&A

  • バージョンの違うMySQLのリモート接続について

    バージョンの違うMySQLのリモート接続について mysqlのリモート接続について。 質問させて頂きます。 サーバー側はMYSQL5.0  OS XP_PRO クライアント側はMYSQL4.0 OS Win98 クライアント側からサーバ側のMYSQLに接続させたいのですが、 MYSQL -u root -p -h IPアドレスとコマンドを打つと ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client と表示され接続できません。 MYSQLのバージョンが違うためサーバ側とクライアント側の MYSQLのパスワードの形式が違うため接続できないとエラーが表示されます。 バージョンの違う、MYSQL同士ではリモート接続できないのでしょうか? 解決方法等ございますでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MySQL Serverへのリモート接続について

    MySQL Serverへのリモート接続について 似たような質問がいくつかありましたので確認させていただきましたが 解決できなかったので質問させていただきます。 今回、新しくWindows2008Serverを立ち上げて、そこにMySQLserverをネットを頼りに設定したのですが、そのserverがローカルの域を出ず、リモートで接続することができません。 一応、過去の質問からリモート権限をもったユーザを作成し、そのユーザでクライアントPCからMySQL Administratorで接続を試みたのですがだめでした。 また、過去の先輩が設定したリモート接続できるMySQLserverがあるので、 MySQL Administratorでステータスを見比べてみると Server InformationのNetwork NameやIPが指定したDNSになっておらず 127.0.0.1になっていました。 (2008サーバにはちゃんとDNSがありリモートデスクトップで操作できます) どうすればMySQLserverをリモートから操作できる(127.0.0.1ではなくきめられたIPに設定できる)ようになるのでしょうか。 初心者で意味不明な文章も多々あるかと思いますが、 どうかご教授願えないでしょうか。 失礼いたします。

  • ポート3306へつながらず、MySQLへリモートから接続できない

    同じような質問は過去に沢山あり、一通り確認しましたが、解決できないため、質問させてください。 ポート3306へつながらず、MySQLへリモートから接続することができません。 確認した点は、 ・mySQLにリモートからアクセスできるユーザを作成してあること ・my.cnfにbind-addressの記載はない。 (そもそも3306に繋がらないのでここは関係ないと思いますが) ・nmap localhost で「3306/tcp open mysql」となっていること。 ・netstat -anで tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN と表示されること。 ・iptablesでINPUTがACCEPTになっている。 3306へアクセスできない確認は ・http://www.cman.jp/network/support/port.html ・ローカルのコマンドプロンプトで telnet IPアドレス 3306 の2通りで確認しました。 サーバ:Linux 恐らくCentOS5だとだと思いますが、現在サーバ会社に確認中。MySQL 5です。 クライアント:WinXP Pro 恐らく3306の開放ができていないのだと思いますが、他に何を確認すればよいのか判らず。。。 アドバイスいただけると助かります。

  • DREAMWEAVERでのMYSQL接続ができません。

    お世話になります。早速ですが、 書籍を参考に、dreamweaver8でローカルにあるMYSQLのデータベースに接続しようと、 [データベースパネル]の[MYSQL接続]をクリックし、 ダイアログに接続名[connBlog(任意)]、MySQLサーバー「localhost」、ユーザー名[root]、パスワード[****(任意)]と入力し、 データベースの[選択]ボタンを押したのですが、 「識別不可能なエラーが発生しました。」とメッセージが表示され、接続できません。 コマンドプロンプトではMYSQLデータベースは確認できるのですが・・・。 まったくの素人なので、わかりにくい質問かもしれませんが、もし解決策などありましたら、教えてください。

  • コマンドプロンプトからMySQLに接続

    当然MySQLなどインストールされていない、winから コマンドプロンプトを使って リモートのMySQLサーバーに接続するには、どうしたらいいですか??可能ですか? よろしくお願いします。

  • mysql

    疑問があります。mysqlサーバーとmysqlクライアントとはなんですか? mysqlクライアントとはmysqlに接続するroot以外のユーザーのことを指すのでしょうか?サーバーはそのまんまサーバーのことですよね?? それと文字化け対策にmy.iniに skip-character-set-client-handshake と記述して解決できたのですが、これはサーバー側の文字コードをutf-8に設定しておけば、データベースの登録・参照などを必要として接続してくるユーザーの文字コードを無視してutf-8にしちゃうよっていうことなのでしょうか?

  • Perl で MySQL接続の -X オプション(XML出力)を利用したい

    MySQL のコマンドシェルで 接続時に -X オプションを指定すると、SQL結果をXMLで返してくれます。 そこで、これをPerlから利用したいのですが、どうすれば良いのでしょうか。 イメージとしては、以下を考えています。 1.[クライアント]サーバーにデータ取得要求 ↓ 2.[サーバー]MySQLに接続(オプション -X 指定)・SQL実行要求 ↓ 3.[データベース]SQL実行・結果出力(XML) ↓ 4.[サーバー]3の結果をクライアントへ出力(XML) ↓ 5.[クライアント]SQL実行結果受取(XML) せっかくデータベースがXML整形してくれるなら、それを利用したいと考えています。 DBIで出来ないかとCPANを調べてみましたが、それらしい記述を見つけられませんでした。 (英語能力の低さもありますが) 参考になるページ等、ご教示頂ければ有り難く存じます。 以上、失礼いたします。

    • ベストアンサー
    • Perl
  • MySQLにリモートホストから接続する設定

    mysqlサーバーにLAN内のリモートホストから接続するとき、 mysqlサーバーの/etc/mysql/my.conf 内の bind-address = xxx.xxx.xxx.xxx を削除すれば接続できますが、 LAN(192.168.1.0/24)内のリモートホストとサーバー自身からの接続に限定しようとして /etc/mysql/my.confに bind-address = 127.0.0.1 bind-address = 192.168.1.0/24 を記述すると、mysqlが起動しません。 ( Ubuntu/LInuxで、# service mysql restart や # /etc/init.d/mysql を実行したらプロンプトに戻らない) bind-address = 127.0.0.1 bind-address = 192.168.1.1 と記述しても起動しません。 bind-address = 127.0.0.1 192.168.1.0/24 と記述すると、起動はしますがlocalhostからしか接続できません。 localhostと特定のリモートホストに接続を限定する方法はないでしょうか? 2011年9月6日

    • ベストアンサー
    • MySQL
  • リモートデスクトップ接続ができません。

    リモートデスクトップ接続ができません。 スペックは、WindowsServer2003のR2です。 色々と調べて試行しているものの接続ができません。 状況としては、クライアントからリモートホストに接続する際に、「リモートセッションを構成しています」とでたまま接続できない状況です 今まで試したこと確認したことを列挙します。 ・マイコンピュータを右クリックして、リモートタブを選択、リモートデスクトップ接続を許可にチェック ・ファイアーウォールを ・telnetでクライアントからリモートホストに接続が可能 ・リモートホストでコマンドプロンプトを開きnetstat-anコマンドで3389が解放されていることを確認 ・レジストリキーの確認 →HKEY_LOCAL_MACHINEの SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections→0へ →HKEY_LOCAL_MACHINEの SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-In-TCP→値の内容確認 →X509 Certificate’’X509 Certificate IDのファイルの削除 などを行いましたが一向に解決する兆しがありません。 なにか手立てはありますかね? また、リモートデスクトップの仕組みが知りたいです。 よろしくお願いします。

  • mysqlへの接続方法

    レンタルサーバから自宅サーバにあるmysqlに接続させたいのですが,どのようにすればよいのでしょうか. mysql側の外部接続の設定はできているのですが,グローバルアドレスとプライベートアドレスをどのように指定しデータベースに接続させればいいのでしょうか. ご回答よろしいくお願いいたします.

    • 締切済み
    • PHP