TODOS・何でも情報交換

スレッド全体を表示します***カテゴリー内スレッド一覧

Re: Mysql全般 ( No.39 )
日時: 2014/06/26 23:17
名前: o6asan

こんばんは。

>サーバー側からのmysqlのログを見る

に関してphpMyAdminを使う件なんですが,もとのSQLサーバの設定によって,見えるものが違うと思います。
それにしても,関連事項がまったく見えませんでしたか?

phpMyAdminのバージョンで少しずつ使い方は違っていると思いますが,メニューバーの「状態」から
「モニタ」へ進むと,general_logやslow_logの情報までも見れたはずなんですが......
もちろん,もともとの設定でgeneral_logやslow_logを無効にしている場合は,無理です。
Re: Mysql全般 ( No.40 )
日時: 2014/06/27 05:28
名前: りり

くりくりさんが書かれた内容と、phpMyAdmin使用との関わりで、何がどの部分が分からないですが、表題として、general_logやslow_logという感じのものは、うちのサーバでは、ちょっと見かけないです。
まだ十分には見ていないですが。
今は、エラーでWPを表示しないと言うことはないので。

状態では、添付画像のような一覧が出てきて、そこから「モニタ」へ進むとというような項目はないようです。

状態でも、赤字の部分は良くない状態なんでしょうね。

ところどころ原因と対策が書かれていますが、それは、ユーザー側が設定できるような範囲のものではない様な感じもします。
Re: Mysql全般 ( No.41 )
日時: 2014/06/27 08:58
名前: o6asan

りりさんの添付画像を見ると,xserverのphpMyAdminはかなり制限がかかっているようですね。
かかってて,当たり前ですので,やはりxserverは信用できるということになるのでしょうか。
添付画像は「状態変数」の一覧のようですが,この数からすると,これの閲覧にも相当に制限が
かかっているようです。

制限がかかっていない場合,メニューバーの「状態」をクリックすると,添付画像のような表が
現れます。うちのは,英語版ですが,レイアウトは同じだと思います。うちのバージョンは,4.2.4
ですが,4.x.xであればあまり変わらないはずです。

ここから,「モニタ」に進めるのですが,りりさんの場合,多分,このメニューがないということなのでしょう。
Re: Mysql全般 ( No.42 )
日時: 2014/06/27 09:00
名前: くりくり

俺が書いたのはcentosの場合だからsyslog経由のログ出力なんでちがいますね。

さて俺もphpmyadminの状態をみてみるとステータス変数だけぽいですね。
こっちも異常値な値があったかも?
見といておいたらいいデータがとれたかもしれませんね。

投稿の時間がかぶりました。
俺のphpmyadminもステータス変数のみ
試しにバージョンアップしてみましょう。
Re: Mysql全般 ( No.43 )
日時: 2014/06/27 09:12
名前: りり

えぇ、o6asanさんが貼られたタブに対応するのが、前に私が貼った情報が書かれている部分の上にあるのですが、状態の下には、メニューは、無いんですよね。
添付画像は、そこのキャプチャです。

「状態」で、いきなり、沢山のリストが続いてくるんです。内容は、クエリ統計というものだと思います。

で、( No.40 )で切り取ったのは、そのほんの一部分です。
Re: Mysql全般 ( No.44 )
日時: 2014/06/27 09:34
名前: くりくり

りりさんの俺のもバージョンが古いと思います。
俺のはバージョン情報: 3.3.0
俺のサブバージョン経由でインストールしてますからね。

http://dev.mysql.com/doc/refman/5.1/ja/error-log.html
これを指定できれば簡単にエラーログがみれそうなんですが・・・。

試しに最新のphpmyadminを入れてみましたら、このモニターいいですね。
ここまで詳しく見れるんだ。muninでmysqlをみるのもよかったがこれもよさそう。
Re: Mysql全般 ( No.45 )
日時: 2014/06/27 09:45
名前: りり

うちのバージョンは、phpMyAdmin - 2.11.11.3でした。

どこにも、これをアップさせる設定はありません。

サーバ側が、アップを考えないと、どうしようも無いのかな?

少し探してみましたが、phpMyAdminのバージョンに関係する情報がありません。
Re: Mysql全般 ( No.46 )
日時: 2014/06/27 10:01
名前: o6asan

やはり,お二人のバージョンは,少し古かったようですね。

調べてみたらこのあたりのレイアウト,バージョンによっても若干違うようです。

りりさん,
バージョンは,ホームページ(添付画像の赤丸で跳べる)の右下に書いてあります。
レンタルサーバの場合,FAQページに書いてあるものは,最新情報でないことがあるので,
おせっかいついでに(爆)。

くりくりさんは,最新バージョンをお試しになったようですが,
「モニタ」に進むと,添付画像2枚目のようなグラフが見えて,なおかつ,ここからlog参照ができる
ようなんです。うちの場合,slow,generalともに有効にしていないので,何も見えませんでしたが。
グラフをドラッグして範囲選択をすると,小窓がポップアップします。

もっとも,phpMyAdminを使っていても,このページを参照することはあまりありません。
自分のサーバだと,MySQLのエラーログを直に見に行ったほうが早いので(汗)。
Re: Mysql全般 ( No.47 )
日時: 2014/06/27 10:26
名前: りり

はい。前に書いたのと行き違いになったようですが、

うちのバージョンは、phpMyAdmin - 2.11.11.3です。
phpMyAdminを出して確認しています。

どうして、こんなに古いままなのか…FAQページには、特にphpMyAdminのバージョンについてのコメントはないです。
Re: Mysql全般 ( No.48 )
日時: 2014/06/27 10:44
名前: o6asan

> phpMyAdmin - 2.11.11.3です。
> どうして、こんなに古いままなのか…

本当に,古いですねぇ。バージョンに小枝がいっぱいなので,セキュリティ的には問題ないのでしょうが。

新しいphpMyAdminは,PHP 5.3 および MySQL 5.5 以上を必要とするので,そのあたりで対応に手間取って
いるのかもしれません。

私は, phpMyAdmin に対する xserver ユーザの要求もあまり高くないのではないかと,勘ぐったりもします。

全くのビギナーは使わないだろうし,シェルからコマンドラインで操作する場合もいらないだろうから,とか。
phpMyAdmin も進化していますが,危ないという評判だけが独り歩きしていたりしてとか。
そんなことで,ホスティング会社のほうでは,それほど急いで,対応する必要もないので,そのままになっている
のかもとか,   勝手な憶測です。
Re: Mysql全般 ( No.49 )
日時: 2014/06/27 11:09
名前: くりくり

phpmyadminは
config.inc.phpに
$cfg['Lang'] = 'ja-utf-8';
で日本語化がいけます。

でログ関連ですが、mariadbにかえてもslowクエリログも出力させるようにしたんですが、
中身空っぽ。ステータス変数にもslowクエリがあったとでたんですが・・・。
うーんわからん。ゆっくりやろう(w

>どうして、こんなに古いままなのか…
phpのバージョンによるんじゃないでしょうかね?
centos4のサーバーでサーバー管理ツールBlueQuartzがphpで動いておりました。
phpのバージョンアップしちゃうと正常に動かなくなる可能性があるので断念。
xserverの場合、phpバージョン4も動く環境にありますからね。
Re: Mysql全般 ( No.50 )
日時: 2014/06/27 12:25
名前: o6asan

> phpmyadminは
> config.inc.phpに
> $cfg['Lang'] = 'ja-utf-8';
> で日本語化がいけます。

くりくりさん,ありがとうございます。上記は,私あてですよね。

古いバージョンは知りませんが,新しいバージョンだと,実は,簡単に日本語化できるんです。
というか,インストールすればなっているはずです。ただ,そのためには,.moファイルがいるんですが,
これが,いつも習慣で落としているphpMyAdmin-x.x.x-english.zipには含まれてないもので,我が家のは,
英語のままです。

後付でも, .moファイルの追加だけで,日本語化は可能でして,phpMyAdmin-x.x.x-all-languages.zipを
落として,含まれているlocaleフォルダを自宅のサーバに追加してやると,添付ファイルのように日本語
表記になります。

で,config.inc.phpの設定を変えていない場合,何語が選ばれるかは,ブラウザの言語設定とかで決まります。

デフォルトは英語になっているので,日本語固定にしたい場合は,
$cfg['DefaultLang'] = 'ja';
をconfig.inc.phpに入れてやればOKです。$cfg['Lang'] = 'ja-utf-8';は追加言語設定のようですが,
我が家の場合はそもそも,UTF-8以外は使っていないので,'ja'だけで問題ないです。
Re: Mysql全般 ( No.51 )
日時: 2014/06/27 18:13
名前: o6asan

モニタから,ログを見てみました。

どうやら,SET GLOBAL xxxxxx_log = 'ON'; (MySQL5.5はONが使えるようです)だけでなく,
SET GLOBAL log_output= 'TABLE';  が必要なようです。
http://o6asan.com/wp-content/uploads/HowToUseMonitor_on_phpMyAdmin.html

これをやると,データベースmysqlに xxxxxx_log というテーブルができます。 <<----- 勘違い,できるのではなく,もともとありました。
またモニタの使用方法のところのポップアップの内容が,添付画像のように詳しくなりました。
一番左はslow_logだけ,真ん中はslow_logとgeneral_logを有効にした場合のものです。

slow_log ではデータが取れませんでしたので,一時的にgeneral_logを有効にしてやってみたのが,
添付画像の3枚目です。

LOGそのものの管理にSQLが使えるので便利かも知れません。

追記:
HowToUseMonitor_on_phpMyAdmin.html はやり方がよくわからないまま,コマンドラインからやったものですが,
当然というか, rootでログオンしたら, phpMyAdmin 上で同じ操作ができました。

追記2:
上で訂正しましたが,データベースmysql内の xxxxxx_log というテーブルは,インストール時からあるようです。
Re: Mysql全般 ( No.52 )
日時: 2014/06/28 09:20
名前: くりくり

o6asanさん
流石お早いですね。

俺のまりあちゃんは来週ためしてみることにしてみます。
Re: Mysql全般 ( No.53 )
日時: 2014/06/28 09:41
名前: o6asan

> 来週ためしてみることにしてみます。

くりくりさん,週末でしたねぇ。

実は,昨日,まりあを 10.0.12 にしたので,サービスを再起動したのですが,コマンドラインから行った操作は,
当然ながら元に戻りました。my.ini(my.cnf)の[mysqld]に,以下を追記したら,いうことを聞いているようです。

slow_query_log = ON
log_output = TABLE

追記:
>>51 で訂正しましたが,データベースmysql内の xxxxxx_log というテーブルは,インストール時からあるようです。
Re: Mysql全般 ( No.54 )
日時: 2014/06/29 18:30
名前: くりくり

QHMを今回は出来るかなと思って
superweibu.netにいれてみましたが、
phpのバージョンかな。真っ白になってしまいますね。
前回はnginx今回はphp?
なんか縁がないな・・・。
Re: Mysql全般 ( No.55 )
日時: 2014/06/29 19:01
名前: りり

ぁぁ、こちらで、QHMが動作するサーバ仕様の検討がつくでしようか?
http://www.open-qhm.net/index.php?QHMServers

QHMは、データベースを使用しないので、丸ごと移転が楽なんですよね。

データベースに当たる情報は、複雑ですが、一定のテキストデータとして増えていきます。
なので、場合によっては、そのデータをいじって直せたりもするようですが。
Re: Mysql全般 ( No.56 )
日時: 2014/06/30 09:21
名前: くりくり

おはようございます。
o6asanさん、
server.cnfは以下のようにしてみました。
とやると禁止ワードになってしまいますから、自分のサイトに掲載します。
しかし、スロークエリログはslow.logファイル自体ができていませんでしたね。
結局set globalでスロークエリログを有効化しました。
しかし、サービス再起動したら戻ってしまいます。
困ったな・・・。
/etc/my.cnf.d/server.cnfで
[mysqld]
#スロークエリーログ
slow_query_log = ON
slow_query_log_file=/var/log/mariadb/slow.log
long_query_time = 1

としてるんだけどな・・・。

>ぁぁ、こちらで、QHMが動作するサーバ仕様の検討がつくでしようか?
再度ためしましたが無理ぽいですね。phpのバージョンかな。
Re: Mysql全般 ( No.57 )
日時: 2014/06/30 14:05
名前: o6asan

こんにちは。

昨日は,ひどい目にあいました。
日曜つぶしての復旧と相成り,今日未明,やっと元に戻しました。早くあきらめて,新規に
やったほうが早かったのは,後になれば火を見るより明らかです。

誰が悪いわけでもわけでもない,自業自得なんで,余計,ガックリです
まぁ,復旧の過程で勉強になったこともあるから,いいけど ← 負け惜しみ

ところで,

> server.cnfは以下のようにしてみました。

SQLサーバの再起動という文言が見当たらないのですが,cnfは再起動しないと効きませんよね。
再起動できない場合は,コマンドラインから(あるいは,phpMyAdminなどから)変えてやらないと
仕方ないです。昨日の自分のドジがあるので,くりくりさんもお仲間かなと思ったりして m(_"_)m。

これは素朴な疑問なんですが,UNIX系のconfのファイル名って,my.cnfじゃないんですか。
どっかで,server.cnfにするよと,教えてやってるんですか。起動のオプションで指定している
のかな。
Re: Mysql全般 ( No.58 )
日時: 2014/07/01 09:03
名前: くりくり

おはようございます。

o6asanさんのサイトになかなかつながらないと思っていましたら
かなり大変な思いをされていたんですね。

>誰が悪いわけでもわけでもない,自業自得なんで,余計,ガックリです

記事も2つほど消えたとか、自分はwordpressバックアップの練習で2ヶ月分記事をけしたことがあります。
新しくwordpressをインストールしなおした時はもう記事書くのがいやになりましたね。
日ごろからバックアップをとっておかないとといいますが、会社のならともかく自分のはとりませんね。

スロークエリログですが、

[mysqld_safe]

ステータス変数が変わらんとおもえば
この下に書けば当然だめにきまってるじゃないですか・・・。
間違いにやっと気がつきました。

>昨日の自分のドジがあるので,くりくりさんもお仲間かなと思ったりして
mysqld_safeは正解です!!

>SQLサーバの再起動
サービスの再起動で設定は反映されますので、
サーバーの再起動自体はあんまりしません。

>素朴な疑問
/etc/my.cnfの中身で
/etc/my.cnf.d/のserver.cnfも読み込めよとなっています。
どっちに書いてもいいとおもいます。
Re: Mysql全般 ( No.59 )
日時: 2014/07/01 12:09
名前: o6asan

こんにちは。

くりくりさん,どうも。

> 新しくwordpressをインストールしなおした時はもう記事書くのがいやになりましたね。

これもありますね。実際,ほぼできていたデータベース&phpMyAdminの記事は,当初の予定より
短くかつ遅くなりそうです。加えて,わがサイトの場合,日記,翻訳も含めた備忘録なので,
消えると,誰よりも自分が困ることがたくさんあります。

> 会社のならともかく自分のはとりませんね。

WEBとは無関係ですが,仕事で使っていたノートが突然動かなくなって,サルベージも効かず
痛い目を見たことがあるので,バックアップは,公私ともに,割と習慣になっています。
ノートの話は,相当昔の話です。その時は,納期を守るため,結局,同僚をわずらわすことに
なってしまいました。

それにもかかわらず,ときどき一昨日のようなことをやらかす自分の学習能力のなさに
あきれてますが……,

> >昨日の自分のドジがあるので,くりくりさんもお仲間かなと思ったりして
> mysqld_safeは正解です!!

おめでとうございます。解決して,よかったですね。

> サービスの再起動で設定は反映されますので、
> サーバーの再起動自体はあんまりしません。

この一文でしばらく悩んでしまいました。サーバ(mysqldのつもりだった)の再起動とサービスの
再起動って同じでないの?
結局のところ,私の扱っているのが,小さな自宅システムなせいで悩むことになったと思うのですが,
くりくりさんの言われるサーバーの再起動って,多分,SQLサーバ機の再起動のことですよね。

この理解であってますか?

> /etc/my.cnf.d/のserver.cnfも読み込めよとなっています。

なるほど,そういえば/xxx.d/ってのがありましたね。
Re: Mysql全般 ( No.60 )
日時: 2014/07/01 13:52
名前: くりくり

こんにちは

>公私ともに,割と習慣になっています
すばらしい!! うちの連中もそれくらいやってくれればいいんですけどね。

>解決して,よかったですね。
ありがとうございます。

>再起動って同じでないの?
>この理解であってますか?

自分はserviceコマンドで色々やるので
個人的にはサービスという認識ですかね。人によって感覚は変わると思います。
例えばyumの読み方とか。

やっとこれでスタートに立てました。
次はphpmyadminでログ取得とかできそうです。
phpmyadminなんですが、o6asanさんは環境保管なんちゃらを有効にさせていらっしゃるんでしょうか?

試しにやってみたんですが、あんまり関係ないかなとおもってやめてしまいました。
Re: Mysql全般 ( No.61 )
日時: 2014/07/01 17:22
名前: o6asan

> 環境保管なんちゃらを有効にさせていらっしゃるんでしょうか?

有効にさせてます。

初めは,リレーションが使えるというので,MS Accessの経験から有効にしたんですが,
現在のうちのSQLサーバは,WordPressで使っている程度なので,リレーションは使っていません。

割と使うのは,recent とbook mark くらいですか。
なにしろ,SQL文には疎いので,book mark は便利です。

うちのブログの環境保管領域に関する記載は,全く分かっていないころに書いたかなりいい加減なままなので,
そのうち書き直さなくてはと思いつつ,ほったらかしになっています。
いい機会だから書き直さなくてはネ!!

以下のページを参考にして,同梱のcreate_tables.sqlを使えば,簡単に有効化できます。
https://wiki.phpmyadmin.net/pma/Configuration_storage

create_tables.sql内のユーザ作成はコメントになってるので,しょっぱなでユーザも作る必要が
あるときは,関連行をアンコメントいておかなくてはいけません。それと,うちでは,ユーザ名pmaと
データベース名phpmyadminは,独自のものに加工してあります。

pmaはcontroluserということになっているようで,特権に関してなどは,下記が参考になります。
https://wiki.phpmyadmin.net/pma/control_user
Re: Mysql全般 ( No.62 )
日時: 2014/07/02 13:03
名前: o6asan

こんにちは。

本日,またまた,phpMyAdminをのぞいてましたら, >>51 の時点ではサーバがまともだったせいか捕れなかった,
slow_query_logのデータが,あることに気づきました。時間的に,データ復旧を一生懸命やってた頃の時間帯ですね。
記念に,貼っときます。

現在,まりあはlong_query_time = 2 となっていますので,2秒超えが記録されてます。

それと,質問ですが,グローバル変数の参照は,どの程度のユーザ特権を与えればできるんですか。
これが気になった理由は,一番初めのお話がWordPressがらみの話だったからです。
WordPress Codexに則って作られているWordPressの一般ユーザは,グローバル特権がないはずです。

我が家でも,WordPressユーザで phpMyAdmin にログオンして,上記のスローログを確認してみたら,エラーも出ずに,
ないと言われました。

WordPressのユーザに,mysqlデータベースにアクセスできるように特権を与えてやれば,できるようになるのかも
と思いますが,これはこれで,保安上問題でしょうか???
Re: Mysql全般 ( No.63 )
日時: 2014/07/02 14:43
名前: くりくり

こんにちは

>それと,質問ですが,グローバル変数の参照は,どの程度のユーザ特権を与えればできるんですか。

ユーザーが、データベース権限とグローバル権限ですが
データベースだけでも参照はできますよ。
たまにmysqlでステータス変数をみるんでwordpressのユーザーでログインします。
当然、setなんかでステータス変数の変更はできませんけどね。

>これはこれで,保安上問題でしょうか???

会社の場合下手に権限あたえると300個以上あるデータベースが消える可能性もありますね。
どこでどうなるかわからないのでphpmyadminも導入しましたがすぐ削除しました。
Re: Mysql全般 ( No.64 )
日時: 2014/07/02 15:35
名前: o6asan

> どこでどうなるかわからないのでphpmyadminも導入しましたがすぐ削除しました。

昔からのコンフィグが残っていて,他のユーザの権限がしっかり把握できていない場合,私もそのほうがいいと
感じました。ログイン可能者をくりくりさんだけに限定しておけるならば,便利だとは思います。

> ユーザーが、データベース権限とグローバル権限ですが
> データベースだけでも参照はできますよ。

ああ,なるほど。

うちの場合,WordPressユーザでログインすると, show databases; をやっても,以下の二つしか見えません。
information_schema
wordpressdb

slow_query_log テーブルは mysql データベースにあるので,これに関する参照権限を与えないといけないと
思うのですが,最小限何が必要でしょうか。この辺がはっきりわからないと,業務上の複数ユーザの環境で,
root以外に権限を与えるのは怖いですね。しっかり設定できて,WordPressアカウントでも,使えるようになると
便利になるんですが。
Re: Mysql全般 ( No.65 )
日時: 2014/07/02 22:31
名前: o6asan

こんばんは。

MySQLのWordPressユーザに,以下の特権だけ与えてみたら,slow_query_logを,WordPressユーザが
状態モニタで取れるようになりました。

GRANT SELECT (start_time, user_host, query_time, lock_time, rows_sent, rows_examined, db, sql_text) ON mysql.slow_log TO 'wordpress'@'localhost';

mysqlデータベースのslow_logテーブルに対するSELECT権限だけですので,これなら問題ないかと思います。
columnは,もともとモニタで表示されていたものを列挙してあります。

結局のところ,現在の我が家のWordPressユーザの特権は以下のようになりました。
GRANT USAGE ON *.* TO 'wordpress'@'localhost' IDENTIFIED BY 'passphrase';
GRANT ALL PRIVILEGES ON wordpressdb.* TO 'wordpress'@'localhost';
GRANT SELECT (start_time, user_host, query_time, lock_time, rows_sent, rows_examined, db, sql_text) ON mysql.slow_log TO 'wordpress'@'localhost';
Re: Mysql全般 ( No.66 )
日時: 2014/07/03 10:38
名前: くりくり

おはようございます。

SELECT権限だけを与えてslow_logを参照できるようにしたんですか
一般ユーザーとはまたちがいますけど、これはデータベースを使って開発してる肩に役立ちそうですね。

他にいい方法あるかもしれないけど、
サーバーでphpやってるとphpのエラーログと編集用とデータベース用
の同じターミナルソフト3つウィンドウで開かないといけないしどれがどれだかわからなくなるんですよ。

データベースはphpmyadminなんてやっておけばやりやすくなる。


TODOS・何でも情報交換TOPから是非ご覧ください。