揮発性のメモ2

http://d.hatena.ne.jp/iww/

MariaDBの日本語の設定

設定

MariaDB 10.5 ではこんな感じだった。

変数名 デフォルト値 備考
character_set_client utf8 ★1
クライアントの文字コード
character_set_connection utf8 ★1
character_set_database latin1 ☆A
DBの文字コード
設定ファイルの対象ではない
character_set_filesystem binary ファイル名で使う文字コード
LOAD DATA とか
character_set_results utf8 ★1
character_set_server latin1 ★2
サーバの文字コード
character_set_system utf8 システム自体の文字コード
collation_connection utf8_general_ci ★1
collation_database latin1_swedish_ci ☆A
collation_server latin1_swedish_ci ★2

DBの文字コードは、DBごとに CREATE DATABASE とか ALTER DATABASE で設定する。
何も指定しないでDBつくると latin1 になるっぽい。あと mysql 自体も latin1 だった

設定ファイルの書き方

default-character-set でクライアントの文字コード、照合順序を一括で設定できる
character-set-server でサーバの文字コード、照合順序を一括で設定できる

# /etc/my.cnf.d/hogehoge.cnf

#[mysql]
[client-mariadb]
default-character-set = utf8mb4

#[mysqld]
[mariadb]
character-set-server  = utf8mb4
確認手段

値が設定できてるかどうかは次のクエリで確認する

show variables like '%char%';
show variables like '%coll%';
utf8 と utf8mb4 の違い

utf8 は utfmb3 と同義で、3バイト長までの可変長を意味している。
utf8mb4 は4バイト長まで。今後新規に作るのは全部 utf8mb4 にしとけばいい。

照合順序

WHERE節の文字列比較とかで使う比較のルールのこと。
utf8_general_ci は UTF8 で、アルファベットの大文字小文字のみ無視する という意味



MySQLで、今どんなクエリが動いてるのかを見る

今、どんなクエリが動いているかは次のコマンドで確認できる

mysql -u abcuser -pPASS abcdb -e "show processlist;"
+----+---------+-----------+-------+---------+------+----------------+--------------------------------------------------------+
| Id | User    | Host      | db    | Command | Time | State          | Info                                                   |
+----+---------+-----------+-------+---------+------+----------------+--------------------------------------------------------+
| 58 | abcuser | localhost | abcdb | Query   |    2 | Writing to net | select * from T_TESTRESULTHISTDISP where ERRORCODE!="" |
| 59 | abcuser | localhost | abcdb | Query   |    0 | NULL           | show processlist                                       |
+----+---------+-----------+-------+---------+------+----------------+--------------------------------------------------------+

Timeの単位は 秒


watchコマンドで見るときは全体で囲って -t をつけること

watch -n10 'mysql -u abcuser -pPASS abcdb -t -e "show processlist;"'

sshログイン時に "no hostkey alg" というエラーが出る

古いSSHクライアントで新しいSSHサーバに接続したらエラーになった。

クライアント側
OpenSSH_5.3p1 (CentOS 6.7)
サーバ側
OpenSSH_8.8p1 (Fedora 37)

dokuwiki.fl8.jp

サーバ側は手が入れられなかったので、クライアント側で対処
とりあえずパスワード認証だけ動けばよかったので、コンフィグをいじって事なきを得た

# ~/.ssh/config

Host *
    HostKeyAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521

PC新調計画

Windows8.1 - 揮発性のメモ2
未だにこのときのPCを使用しているが、そろそろ新調したいので検討をする。
新調と言ってもケースと電源は使いまわす。
ディスプレイ3枚、SSD 4TB、メモリ32GB、そんでせめて5年くらい戦えそうなスペックを検討

  • マザー : ASUS B760M-A D4
  • CPU : Intel Core i5-13500
  • メモリ : CFD W4U3200CS-16G
  • SSD : Lexer LNM790X004T-RN9NG
  • ケース : サイズ ATXミドルタワーケース
  • 電源 : Corsair RM550

合計で94,780円。 まあまあに収まりそう


続きを読む

PhpStormで、デプロイ時の差分比較で 特定のファイルを除外する

PhpStormで、デプロイ時の差分比較で 特定のファイルを除外する

ディレクトリが「除外」にマークされていれば 差分比較で比較対象外にすることが可能だけど
それだと .gitkeep などあちこちに点在する比較したくないファイルは比較対象のままになる


設定 ⇒ ビルド、実行、デプロイ ⇒ オプション
で「項目を名前で除外」にてファイル名を列挙して、ファイル名でフィルタ出来る



pleiades.io

strtotime()はYYYYMMDDhhmmssを理解する

PHPのstrtotime()は日付っぽい文字列を入れるとUNIXTIMEにしてくれる便利な関数
PHP: strtotime - Manual

理解してくれる書式はここにまとまっている
www.php.net
書いてないけど YYYYMMDDhhmmss な形式の文字列もセーフ

<?
$a = time();
$b = date('YmdHis',$a);
$c = strtotime($b);
 
print("$a\n");  // 1694310512
print("$b\n");  // 20230910014832
print("$c\n");  // 1694310512

UltraVNC 日本語版 インストール

uvnc.com
riku-zen.cocolog-nifty.com

UltraVNCインストール後、日本語化DLLをコピーする

      • -

1.4.3.1 をインストールしたところ、ALT+SPACE が送信できなくなっていたので、画面外のウィンドウを口寄せするおまじないが効かなくなっていた。
画面外のウィンドウを呼び戻す呪文 (VNC越しの場合) - 揮発性のメモ2
対策案を検討中