【MySQL】csvのインポート、エクスポート

csvにエクスポートやインポートするときの
方法をメモメモ

まずはエクスポート
tableNameとかは適当に書き換えて

権限で怒られたら

続いてインポート

【MySQL】パーティションの作成、追加、削除、確認

MySQL のパーティションの作成、追加、確認についてメモメモ

・作成
ALTER TABLE tableName PARTITION BY RANGE (TO_DAYS(updateDate)) (
PARTITION p20190831 VALUES LESS THAN (TO_DAYS(‘2019-09-01 00:00:00’)),
PARTITION p20190901 VALUES LESS THAN (TO_DAYS(‘2019-09-02 00:00:00’)),
PARTITION p20190902 VALUES LESS THAN (TO_DAYS(‘2019-09-03 00:00:00’))
);

・追加
ALTER TABLE tableName ADD PARTITION (
PARTITION p20191123 VALUES LESS THAN (TO_DAYS(‘2019-11-24 00:00:00’)),
PARTITION p20191124 VALUES LESS THAN (TO_DAYS(‘2019-11-25 00:00:00’))
);

・削除
ALTER TABLE tableName DROP PARTITION p20191124;

・確認
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_NAME = tableName;

【Laravel】新規作成時のパーミッション設定

Laravelで新規にサイト作ろうとすると
パーミッションで怒られるはず、、、

やり方は、いくつかあるけど
この方法が自分好みなので、メモメモ

おおざっぱな手順
 ・[laravel] グループを新規に作成して
 ・[apache] など必要なユーザを [laravel] グループに追加する
 ・[storage] 配下 の所有グループを [laravel] に変更
 ・新規で作成されるファイルのパーミッションを指定

以上!

【MariaDB】データディレクトリを変更する

MariaDBのデータディレクトリを変更したかったけど
めんどくさいので、シンボリックリンクで対応

ざっくり手順としては
・DB止める
・新ディレクトリに今動いているデータをコピー(パーミッションを保持して)
・今まで動いていたやつはディレクトリ名を変更
・シンボリックリンクを設定
・DB起動

こんな感じ

【MariaDB】起動時のログにmax_open_filesでなんか怒られてる

MariaDB を起動したあとに、ステータス確認したら
なんか Warning が出てたので、そのときの対応メモ

・Warning メッセージ
[Warning] Could not increase number of max_open_files to more than 1024 (request: 4147)
[Warning] Changed limits: max_open_files: 1024 max_connections: 100 (was 100) table_cache: 447 (was 2000)

・環境
CentOS Linux release 8.0.1905
mysql Ver 15.1 Distrib 10.3.11-MariaDB, for Linux (x86_64) using readline 5.1

/etc/security/limits.conf に下記の2行を追加
念のためバックアップをとっておく

次に、 /usr/lib/systemd/system/mariadb.service にもこちらを追加!
念ためのバックアップも忘れずに

最後に設定した内容を反映

終わり

【MariaDB】大量インサート時のパフォーマンス改善

MariaDBに大量のデータを突っ込もうとしたんだけど、
思ったより時間がかかってしまって。。。

インサートする前にバックアップ取得するから
ダブルライトバッファは必要ないと思い

/etc/my.cnf.d/mariadb-server.cnf に
こちらの1行を追加して、ダブルライトバッファをスキップしてみる
skip_innodb_doublewrite

そしたら、環境によると思うけど
今回は6倍くらい早くなったよ!

【MySql】設定ファイルのチューニング

なんかパフォーマンスが出ないと思って
チューニングしたのでメモメモ

innodb_buffer_pool_size = 13G
 ⇒メモリの80%くらいとか

innodb_log_file_size = 3G
 ⇒innodb_buffer_pool_size の4分の1くらい

innodb_file_per_table=ON
 ⇒テーブル単位で領域を確保するとか

これを追加しておくと、インポートが早くなるとか

【JS】動的に追加した要素に対して on clickをさせたい

JavaScriptでクリックイベントを拾おうとしたときに
動的に追加した要素に対して、on でいけると思ったのに
ダメだったのでメモメモ

【Laravel】バッチのログファイルを別に書き出す

Laravel でバッチ処理を作ってたんだけど、
ログを吐こうとすると、
storage/logs/ 配下の larabel-xxxx-xx-xx.log ファイルに
全部まとまられてしまって、管理しづらいので
別に書き出す方法をメモメモ

いろいろ方法はあるみたいだけど
これが一番簡単にできたので採用!

手順は2つ

1.config/logging.php のchannels に、’daily’ をコピッてひとつ追加

2.該当の処理でログを書き出す

あと、キャッシュ削除しないとうまく動かないかも