MySQLのログ出力方法について(Error 1130)

このQ&Aのポイント
  • MySQLのログについて質問です。データベースに遠隔でログインしようとした際に、MySQL Error Number 1130が表示され、アクセスできませんでした。
  • このエラーはデータベースのアクセス権を付与することで回避できますが、ログにはアクセス試行の履歴が残っていません。
  • サーバ側でこのようなアクセスがあったことを確認する方法やログの出力方法について教えてください。
回答を見る
  • ベストアンサー

MySQL のログ出力方法について (Error 1130)

MySQLのログについて質問です。 現在、MySQL Administratorを使用して、遠隔でデータベースサーバにログインしようとしたところ以下のようなエラーが発生しました。 ■エラー内容(クライアントに表示されたもの) MySQL Error Number 1130 Host 'host名' is not allowd to connect to this MySQL server ちなみに、このエラーはデータベースのアクセス権を付与する事で回避でき、無事にデータベースへ接続は出来たのですが、データベースサーバの方に、このようなアクセスしてきたログは残っていませんでした。 そこで、上記のようなエラーが発生した場合、サーバ側のログに出力させる事は可能でしょうか? ちなみに、/etc/my.confのログ設定内容は以下の通りになっています。 ■サーバ側のmy.confに記述してあるログ設定内容 log-error=/var/log/mysqld.log log=/var/log/mysqld.log mysqld.logは、オーナー、グループ共に「mysql」です。 Error Number 1045などは、アクセス時にパスワードが無いというログが、mysqld.logに出力されるのですが、Error Number 1130が残りません。 どうにかして、サーバ側でこのようなアクセスがあった事を確認する方法(ログの出力方法など)はありませんか? 是非とも、ご教示よろしくお願いいたします。

  • ostk
  • お礼率77% (24/31)
  • MySQL
  • 回答数1
  • ありがとう数3

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

  • ベストアンサー
  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.1

試していませんが、以下はどうでしょうか? http://dev.mysql.com/doc/refman/5.1/ja/error-log.html --log-warnings オプション、または log_warnings システム変数を使用すると、エラー ログの警告ロギングを制御できます。値を 1 (デフォルト) にすると、有効化し、0 にすると無効化します。値を 1 より大きな値にすると、中断した接続についてもエラー ログを記録します。詳細は、項B.1.2.10. 「Communication Errors and Aborted Connections」 を参照してください。 これ以上の詳細は公式にも記載はないようで、調べた方がいらっしゃいます。 http://d.hatena.ne.jp/mir/20090109/p1

ostk
質問者

お礼

kuroizellさん 回答ありがとうございます。 お返事晩くなり申し訳ありません。 log_warningsシステム変数を使用してみましたが、ログにはError 1130の内容は吐かれませんでした(´Д⊂ 教えて頂いた参行サイトの方を、調べてみます。 どうもありがとうございますm(__)m

関連するQ&A

  • MySQLが起動しない

    このテーマの質問はいくつもあるのですが、解決に結びつくものがなく困っています。 もともと正常に動いていたのですが、再インストールしたところ起動しなくなりました。 再インストールは「yum -y install mysql-server」で行いました。 いろいろと試してはいるのですがうまくいきません。 どなたかお分かりの方がいらっしゃいましたら、ご教授いただけますでしょうか。 よろしくお願いします。 --------------------------  エラーログ -------------------------- 110709 16:46:38 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 110709 16:46:38 [Note] Plugin 'InnoDB' is disabled. 110709 16:46:38 [Note] Plugin 'FEDERATED' is disabled. 110709 16:46:38 [ERROR] Unknown/unsupported storage engine: InnoDB 110709 16:46:38 [ERROR] Aborting 110709 16:46:38 [Note] /usr/libexec/mysqld: Shutdown complete 110709 16:46:38 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended --------------------------  my.cnf -------------------------- [mysqld] skip-innodb max_connections=30 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock bind-address=127.0.0.1 # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 [mysql.server] user=mysql sort_buffer=512 net_buffer_length=8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid --------------------------  php.ini (一部抜粋) -------------------------- mysql.default_socket = mysql.default_host = mysql.default_user = mysqli.default_port = 3306 --------------------------  サーバー環境 -------------------------- OS: Red Hat Enterprise Linux ES release 4 MySQL: MySQL: 5.5.9-2 [ファイル構成] /var/run/mysqld/mysqld.pid /var/lib/mysql/mysql.sock ※上記のファイルは所定のディレクトリだけでなく、サーバー上に存在しません。 /var/lib/mysql  -mysql/  -performance_schema/  -test/

  • MySQLのエラーについて

    今回初めてMySQL-serverをいれました。 バージョンは5です。 Linuxを使用。 /etc/rc.d/init.d/mysqld start コマンドで起動させたいのですが。 Timeout error occurred trying Timeout error occurred trying to start MySQL Daemon. Starting MySQL: [FAILED] と、いうものが出力されます そしてlogを調べた所↓ mysqld started 090812 17:34:44 [ERROR] /usr/libexec/mysqld: unknown option '-- ' というエラーlogが残ってました。 こういう場合の対処法を教えてください。

    • ベストアンサー
    • MySQL
  • ログに残る謎のエラー

    質問させていただきます。 先日、サーバーを再起動しましたところmysqlが動かなくなってしまいました。 my.cnfで直接portを指定する事によって とりあえずの解決はしたのですが、 今度は連携して使っていたPHPのセッションが、 複数の箇所で切れるようになってしまったのです。 それと関係があるかどうかはわかりませんが、 mysqldを起動させるたびに /usr/local/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2) という謎のエラーがログに残っています。 これはいったい何なのでしょうか? ご存知の方がいらっしゃいましたら、宜しくお願いします。

    • ベストアンサー
    • MySQL
  • FedoraCore4のMYSQLについて

    下記のエラーがでてしまい起動出来ません。 Timeout error occurred trying to start MySQL Daemon. 一度アンインストールして後に再インストールしても同じエラーで起動出来なかったです。勿論、アンインストールする再にフォルダ部分も削除しました。 [root@test ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 [mysql.server] user=mysql basedir=/var/lib default-character-set = utf8 [mysqld_safe] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set = utf8 --------------------------------------

  • MySQL5の文字化けについて(Linux)

    MySQL5の文字化けについて linuxもデータベースも初級の素人です。 my.iniをデフォルトのままwindowsからTeraTermでサーバに接続し SQLを発行していたのですが、そのときは日本語が文字化けしませんでした。 しかしphpmyadminを利用しようとmy.iniを変更すると、変更したが為に日本語文字化けするようになってしまいました。 修正後はMySQLは再起動しており、再起動後、新たにテーブルを作成し、 データの挿入をしてテストしています。それでもうまくいきません。 修正後のmy.iniのどこがおかしいのでしょうか? [サーババージョン] OS:CentOS5.4 (OSの文字コード:UTF-8のまま変更なし) MySQL5.0.77 [テスト環境] windowsマシンからTeraTermProでログイン ・TeraTermの設定:文字コード送受信ともに「UFT-8」を指定 ****************** [ 変更前のmy.ini ] *********************** [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 user=mysql [mysqld_safe] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid *************************************************************** ****************** [ 変更後のmy.ini ] *********************** [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 default-character-set=utf8 init-connect=SET NAMES utf8 (←これがいるのがよく分からない) skip-character-set-client-handshake [mysql.server] user=mysql basedir=/var/lib [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 [client] ← (これもいるのかよく分からない) default-character-set=utf8 ************************************************************* ********* TeraTermで接続しSQLを発行したときのSQL文 ********** mysql> create table account (ID integer primary key, NAME varchar(100), MONEY varchar(100) ); mysql> insert into account values (1,'ボブ',1000), (2,'パトリック',2000), (3,'サンディー',3000), (4,'イカルト',4000) ; ************************************************************* かなりテンパってます。。 よろしくお願いします。

  • ソケットエラーについて(PHP+MYSQL)

    過去ログもたくさんでていたのですが、解決しないので質問します。 PHPとMYSQLを連動させて使用したいのですが、わからないなりにサーバーの設定しています。 Fedora Core3 PHP Version : 4.3.11 Apache Version : 2.0.53 MYSQL 5.0.24a で設定しています。 PHP単体では動いています。 MYSQLもターミナル上では動いています。 PHPからの動かすと DB Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13) と出たので、 mysqldをもう一度起動してみたり php.iniを /tmp/mysql.sock に変更してApacheを再起動したり my.cnfも同じ値にしているのですが (mysql.socは/tmp/にある) エラーが DB Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) に切り替わっただけでした。 mysqldが動いていないのかなーとも思うんですが どこから手をつけていいのかわからなくなっています。 ひとつ気になるのが、PHPのテストファイルで取得したinfoの MYSQLの 項目で MYSQL_SOCKET /var/lib/mysql/mysql.sock と出ていました。 これって関係あるんでしょうか。 別の設定があるのでしょうか・・・ それともやっぱりmysqldをあたってみたらいいのか。 みなさんのご意見をお聞かせいただければ幸いです。 あと参考になるような本があれば教えてください。 よろしくお願いします。

  • MySQLが起動できない

    さくらのVPSを借りて構築を行っています。 基本的にMySQLだけを導入して運営させていてしばらく問題もなかったのですが、 最近、Perlなどを導入して権限周りに色々悩まされていました。 で、何が原因かはわかっていないのですが、MySQLが起動できなくなりました。 /etc/rc.d/init.d/mysqld restart を行うと、停止は出来るのですが起動に失敗します。 /var/log/mysqld.log を見てみると、 InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use GCC atomic builtins InnoDB: Compressed tables use zlib 1.2.3 InnoDB: Using Linux native AIO InnoDB: Initializing buffer pool, size = 128.0M InnoDB: Completed initialization of buffer pool InnoDB: highest supported file format is Barracuda. InnoDB: Waiting for the background threads to start InnoDB: 1.1.8 started; log sequence number 1595675 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28) [ERROR] Can't start server: can't create PID file: No space left on device mysqld_safe Number of processes running now: 0 mysqld_safe mysqld restarted [Note] Plugin 'FEDERATED' is disabled. と書かれており、権限で起動が出来なくなってるのかと思い、 ls -ld /var/run/mysqld/ で調べてみると、 drwxr-xr-x 2 mysql mysql 4096 11月 1 23:52 /var/run/mysqld/ と、MySQLをインストールした時と同様に、ユーザーはmysqlのままでした。 一応、chown -R mysql:mysql /var/run/mysqld/ でもう一度設定しなおして再起動を試みましたが、起動のみやはり失敗して、同じエラーログとなっています。 Apacheの起動・停止は問題ありません。 OSはCentos5.7でApache2.2ですが、どうも権限周りの設定が良くわかっておりません。 どうにか再インストール無しでMySQLを起動させたいのですが、ご教示頂けますと幸いです。 宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • mysqlのデータディレクトリの変更

    debian8を再インストールし、データベースをインポートしました。 Mysqlのディレクトリが/var/mysqlになっているらしく、/var/mysqlniにインポートされています。そのDBを利用しているwordpressは正常にデータが表示されます。 しかし/varのパーティショサイズは、多く確保できないので、DBが/varを圧迫してしまうので。mysqlのDBを容量に余裕がある/home/mysql_data配下に設定変更したいのです。ネットで調べると/etc/my.cnfと言うファイルに [mysqld] # datadir=/var/lib/mysql datadir=/home/mysql_data # socket=/var/lib/mysql/mysql.sock socket=/home/mysql_data/mysql.sock 変更を加えることで実現できるという記事があるが、,my.cnfというファイルは /var/lib/dpkg/alternatives/my.cnf /etc/mysql/my.cnf /etc/alternatives/my.cnf に存在するが、datadirの記述されている部分は無い。 /etc/mysql/mariadb.conf.d/50-server.cnf に user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking ・ ・ ・ また /home 配下に「datadir」を設置する場合。 To run MariaDB SQL from /home, in the file /usr/lib/systemd/system/mariadb.service, just change : $ sudo vi /usr/lib/systemd/system/mariadb.service ProtectHome=true to : ProtectHome=false とする記述に変更し datadirに/home/mysql_dataと変更して systemctl start mariadb.serviceをしても、mysqlの起動がエラーになってしまう。 debian8でmysqlのデータディレクトリを変更する方法を教えてください。

    • ベストアンサー
    • MySQL
  • mysqlのdatadirの変更について

    mysqlのdatadirを以下の手順で変更するのですが、mysqlが起動しません。 datadirの変更方法を教えてください。 -- centosにyumコマンドでmysqlをインストールしました。 datadirを変更するため、/etc/my.cnfの[mysqld]セクションに以下の行を追加しました。 [mysqld] #datadir=/var/lib/mysql datadir=/opt/mysql /opt/mysqlには、mysqlユーザ、グループに権限を与えています。 mkdir -p /opt/mysql chown -R mysql:mysql /opt/mysql chmod -R 775 /opt/mysql 変更後、起動するのですが、mysqlが起動しません。 /var/log/mysqld.logには、次のように出力されています。 110121 14:15:18 mysqld started 110121 14:15:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 110121 14:15:18 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295 110121 14:15:18 [Warning] Can't create test file /opt/mysql/localhost.lower-test 110121 14:15:18 [Warning] Can't create test file /opt/mysql/localhost.lower-test 110121 14:15:18 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'create'. InnoDB: Cannot continue operation. 110121 14:15:18 mysqld ended よろしくお願いします。

  • MySQLにSQLを実行できない

    こんにちは。 今MySQLを勉強中なのですが、以下のようなエラーが解決できずに困っています。 どなたかお助けよろしくお願いいたします。 状況と致しまして、 レンタルサーバーにphpMyAdminを設置し 管理者に与えられたデータベースに「MLB」というテーブルを作成(特権なし)しました。 そこで以下のような単純なphpを組んで読み込んで見ることにトライしたのですが <?php //サーバーに接続 $my_Con = mysql_connect("localhost","データベース名","パスワード"); if($my_Con == false){ die("MYSQLの接続エラー"); }else{ echo "接続成功<br>"; if(mysql_select_db("データベース名",$my_Con)){ echo "データベースにアクセス成功<br>"; $my_Row = mysql("SELECT * FROM MLB",$my_Con); if(!$my_Row){ die(mysql_error()); } while($row = mysql_fetch_array($my_Row)){ echo $row["id"]; echo $row["stadium"]; echo "<br>"; } }else{ die("データベースへのアクセスエラー"); } } ?> 以下のようなエラーが出てしまい解決できない状態です。 接続成功 データベースにアクセス成功 Access denied for user 'データベース名'@'localhost' to database 'SELECT * FROM MLB' これは特権なしが影響しているのかな?とも考えたのですが、 調べてみた所、 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ root で接続をしようとする場合に、次のようなエラーが出るときには、'root' の User フィールドに、user テーブルのエントリがないことを示します。そのため、mysqld がクライアントのホスト名を識別できない状態です。 Access denied for user ''@'unknown' to database mysql この場合、--skip-grant-tables オプションでサーバを立ち上げ、/etc/hosts ファイル、または \windows\hosts で、ホストのエントリを付加します。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 解決になるらしいのですが、これはレンタルサーバー側に何か問題があるということでしょうか? どのように解決すればよいか、どなたかご教授をよろしくお願いいたします。

    • ベストアンサー
    • MySQL