MEMO REC

雑記帳兼php、mysql、html、css、javascript等の備忘録です。

【MySQL】slow_query_logの保管場所や設定(閾値)時間の確認/変更

Mysqlのチューニングの際にスロークエリログを確認する事がありますが、
ログの場所やスロークエリを吐きだすまでの時間を確認する方法と設定を変更(更新)する方法をメモします。

確認

slow_query_logがどこに保存されているかを確認する。
mysql> show variables like 'slow_query%';                                                                        
+---------------------+------------------------------+
| Variable_name       | Value                        |
+---------------------+------------------------------+
| slow_query_log      | ON                           |
| slow_query_log_file | /var/log/mysqld_slow.log |
+---------------------+------------------------------+
2 rows in set (0.00 sec)
現在指定されているlong_query_time(指定した秒数以上で記録する)を確認する
mysql> show variables like 'long%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 5.000000 |
+-----------------+----------+
1 row in set (0.01 sec)

設定(コマンドラインでの設定)

ログを保管する場所を設定
set GLOBAL slow_query_log_file = '【保存するパス】';
スロークエリのログを吐き出すまでの時間(秒)を設定

・下記の場合10秒に変更

set GLOBAL long_query_time = 10;
スロークエリのログを残すかどうか

・有効:「0」または「ON」
・無効:「1」または「OFF」

mysql> set GLOBAL slow_query_log = ON;

ページ内の画像を右クリックやドラッグで保存させない方法

画像を簡単右クリやドラッグなどでダウンロードさせないための簡単な方法をメモしておきます。

CSSを使う方法

CSSコンテキストメニューの表示を変更する
.image_tag {
    pointer-events:none;
}

「pointer-events:none;」を対象のimg要素に指定する。
右クリックして表示される項目内から、「名前をつけて画像を保存」のコンテキストメニューが表示されなくなります。

JSを使う方法

対象のタグ(imgタグなど)に下記の様にjs(oncontextmenu="return false;" onMouseDown="return false;" onSelectStart="return false")を追記する
<img src="common/****/****.gif" oncontextmenu="return false;" onMouseDown="return false;" onSelectStart="return false;" >

画像上で右クリックさえ出来ないようにして、
ドラッグも出来ないようにする方法になります。
ただブラウザ上でjsを切ると制御が効かなくなります。

【cURL】Cookie情報の送信と保存:ログインとアクセス手法

cURLを使用したCookie情報を利用した認証方法

ウェブページの認証をCookie情報を利用して行う方法について、以下に記載します。

ログイン処理とCookie情報の保存

まず、ログインを行い、取得したCookie情報をローカルサーバーに保存します。
以下はログインフォームの例です。

<form method="post" action="http://hogefugapiyo.com/login">
  <input type="text" name="username" value="">
  <input type="password" name="password" value="">
</form>

上記ログインフォームにcURLでログインを行うためには、「-d」オプションを使用し、必要なname属性の値をaction先に送信します。
また、「-c」オプションを使用してCookie情報を取得します。

curl -c cookie.txt -d "username=hogehoge&password=123456" http://hogefugapiyo.com/login

※name属性を「username="hogehoge"」、「password="123456"」とした場合のコマンド


[スポンサーリンク]
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】

クッキー情報の利用

単純にクッキーをローカルに保存する場合、以下のように実行します。

curl -c cookie.txt http://hogefugapiyo.com/

特定のクッキー情報を付与して対象サーバーへ送信する場合、以下のように実行します。

curl -b cookie.txt http://hogefugapiyo.com/

クッキーの送信と更新

ローカルに保存したクッキー情報を対象サーバーへ送信し、受信したクッキー情報を再び保存して更新する場合、以下のコマンドを使用します。

curl -b cookie.txt -c cookie.txt http://hogefugapiyo.com/

最後に

cURLを使用する際に役立ついくつかの追加情報を提供します。

  • --cookie-jarオプションを使用して、クッキー情報を保存するファイルを指定することもできます。-cオプションとは異なり、ファイルが存在しない場合は新しいファイルを作成します。
  • クッキー情報の詳細を確認するには、ブラウザの開発者ツールやコマンドラインのツールを使用して、サーバーから送信されるクッキー情報を確認することができます。

これにより、cURLを利用してCookie情報を用いた認証やセッション管理を行う方法を理解し、Webアプリケーションの操作やテストに活用することができます。



[スポンサーリンク]


【MySQL】登録されているデータを一括置換(更新)する方法

mysqlのデータで既に登録されているデータを一括置換する方法をメモしておきます。

構文

UPDATE と REPLACE()の組み合わせにより一括置換が可能になります。

UPDATE テーブル名 SET カラム名 = REPLACE(カラム名,置換前文字列,置換後文字列) ;

例文

・userテーブル(一括置換前)

mysql> select * from user;
+----+---------+
| id | user_id |
+----+---------+
|  1 | hoge1   |
|  2 | hoge2   |
|  3 | hoge3   |
|  4 | hoge4   |
|  5 | hoge5   |
+----+---------+
5 rows in set (0.00 sec)

・user_idカラムの値「hoge」を「fuga」に一括置換する為にREPLACE()を使いUPDATEします。

UPDATE user SET user_id = REPLACE(user_id,"hoge","fuga") ;
Query OK, 5 rows affected (0.30 sec)
Rows matched: 5  Changed: 5  Warnings: 0

・userテーブル(一括置換後)
 user_idの値「hoge」が「fuga」に置換されています。

mysql> select * from user;
+----+---------+
| id | user_id | 
+----+---------+
|  1 | fuga1   | 
|  2 | fuga2   | 
|  3 | fuga3   | 
|  4 | fuga4   | 
|  5 | fuga5   | 
+----+---------+
5 rows in set (0.00 sec)

【Chrome】効率的で便利なショートカットキー一覧

chromeでよく使うショートカットをまとめておきます。
Windows / Linux版の情報になります。

キーボード操作

動作 ショートカット
新規ウィンドウを開く Ctrl + n
新規タブを開く Ctrl + t
タブを閉じる Ctrl + w
ページのソースを開く Ctrl + u
ページ内の検索 Ctrl + f
数字の場所のタブへ移動 Ctrl + 1~8
最後のタブへ移動 Ctrl + 9
ウィンドウ自体を閉じる Ctrl + Shift + w
前のページに戻る Alt + ←キー
次のページに進む Alt + →キー
タブをコピーする Alt + d + Enter
リロード F5
スーパーリロード(ブラウザキャッシュを無視してリロード) Ctrl + F5
開発コンソールを開く F12
ページの先頭にスクロール Home
ページの一番下にスクロール End

マウス操作

動作 ショートカット
新しいタブでリンク先のページを開く Shift + リンククリック
リンク先をダウンロード Alt + リンククリック
タブを閉じる タブ上でマウスホイール押下

【Windows10】disc使用率100%で動作が重い時/SuperFetchの無効化

Windows10を使い作業中PCの動きが物凄くもっさりしてきて、全然作業にならない。
タスクマネージャーを見てみると「SuperFetch」が原因でディスク使用率が100%になっていたので停止方法をメモしおきます。

SuperFetchとは

行動履歴を基によく使われるアプリケーション(データ)を予測し、
HDDからメモリにあらかじめキャッシュしておく機能です。

手順

「Widowsキー」+「x」
 ↓
「コンピューターの管理」
 ↓
「 サービスとアプリケーション」
 ↓
「サービス」をダブルクリック
 ↓
「SuperFetch」をダブルクリック
 ↓
「スタートアップの種類」を「無効」

設定後

100%だったディスク使用率が一気に20%近くまで下がった。

【Linux】tarコマンドによる圧縮/解凍方法(gzip)

「.tar.gz(.tgz)」のファイルを圧縮する時や、
解凍(展開)する時に毎回コマンド(オプション)を調べているのでメモします。

圧縮

コマンド例

tar -czvf testdata.tgz *

※圧縮した元のファイルを削除したい場合は「--remove-files」オプションを付与する

tar -czvf testdata.tgz * --remove-files

解凍(展開)

コマンド例

tar -xzvf testdata.tgz

利用しているオプションの意味

オプション 説明
-c(--create) 新しくアーカイブを作成
-x(--extract、--get) アーカイブを展開
-z(--gzip gzip形式に圧縮/解凍(展開)
-v(--verbose) 圧縮/解凍(展開)したファイルリストの表示
-f(--file) ファイルの指定