MySQL

オンラインDDL MySQLでテーブル構成を変更する際にテーブルロックせずに変更する

MySQL オンラインDDL(ロックなしによるサービス無停止でDDLを流す方法) パターン集 - Qiita DDLに ALGORITHM=INPLACE, LOCK=NONE を追加することでオンラインDDLが適用できない場合はエラーメッセージを出してくれる。 ALTER TABLE dummy ADD COLUMN added_c…

indexの整理

indexがいまいちよく分かっていない。 この資料が良かった。 ヤフー社内でやってるMySQLチューニングセミナー大公開 一部抜粋。 <大事なこと> ・Cardinality が高い方が効果が出る・複合indexは指定順が大事 <やり方> ・重いクエリを見つける・実行計画…

MySQLで、特定カラムの値をコピーして、全レコードに一括で上書きする方法

これで行ける UPDATE テーブル名 SET 対象カラム名 = CONCAT( 付け加えたい値のあるカラム名, " : ", 対象カラム名) limit 件数

RDS(MySQL)でutf8からutf8mb4に変更する

以下の方法で進める。 1. パラメータ変更2. RDS再起動3. ALTER DATABASE DBnoNamae CHARACTER SET utf8mb4; (デフォルトで utf8mb4_general_ci だったが照合順序を指定する場合)ALTER DATABASE DBnoNamae CHARACTER SET utf8mb4 collate utf8mb4_general_c…

MyISAMからInnoDBに切替

MyISAM から InnoDB への移行の注意点 - Qiita 漢(オトコ)のコンピュータ道: MyISAMからInnoDBへ切り替えるときの注意点 切り替えた結果、CPU使用率が1.5倍から2倍に増えた。 メモリ使用量も大きく上昇。 スワップも使うようになった。 秒あたりのIO(IOPS)…

EC2からRDSのMySQLに接続

$ mysql -h *****.*****.ap-northeast-1.rds.amazonaws.com -u ***** -p .envにパスワードなど

MySQLでダンプした大量データを、Cloud9でRDSに一括インポートする方法

mysqlのエクスポート RDSへインポート | idealive tech blog 【ターミナル(Linux,Mac)】scpコマンドでサーバとファイルのやり取りをする - Qiita ・mysqlテーブル単位のエクスポート mysqldump -u ユーザー -p データベース名 -t テーブル名 > エクスポ…

ドットインストールで学習1

娘用に契約したドットインストールで、自分も学習を始めた。 まずは、Bootstrapから。 終わった学習をメモしていく。 ◆ Bootstrap 4入門 Bootstrap 4入門 (全22回) - プログラミングならドットインストール 2020/11/07 - 2020/11/08 #01 - #22 簡単にけっこ…

Indexについて調査

EXPLAIN の type について indexまたはALLを見かけたらすかさずクエリをチューニングしよう。 MySQLのIndexをはるコツ - Qiita type ALLとなっている原因の切り分け 1. まず、WHERE句に使っている箇所を徐々に削除していく2. そこでtypeがALLじゃ無くなった…

RDS MySQLのslow_logを削除する方法

phpMyAdminから削除できる。 mysqlのデータベースを選択して、SQLタブを押して、 call rds_rotate_slow_log このコマンドで空に出来る。 RDS(MySQL)のログファイルを削除する - Qiita RDSのスロークエリのログテーブルを空にする|茶トラ猫のエンジニア日記

phpMyAdminが固まる

テストで、処理が重そうな変なSQLを実行してたら、phpMyAdminが固まった。 RDSを見てみたら、CPU使用率が激増して、DB接続数も徐々に増えて行った。 MySQLに入って、 mysql> show processlist; をした後、killしていく必要がある。 mysql> kill 245; MySQL|…

毎秒更新がかかるようなテーブル

毎秒更新がかかるようなテーブルにはindexは張らない方がいい。 まぁ常識なんでしょうね。 毎秒更新がかかるようなテーブルにindexを張ってたら、 SQLの実行時間がこんな感じになってた。 4.8857 seconds.0.0028 seconds3.2882 seconds.0.0029 seconds.4.292…

Laravelを使ってMySQLでエラー

SQL error: SQLSTATE[42000]: Syntax error or access violation: 1139 Got error 'parentheses not balanced' from regexp MySQLのRLIKE特殊文字はPHPをエスケープする - php、mysql、sql、regex、pdo これらの文字は正規表現パターンにおいて特別な意味を…

MySQLがCPUを使いすぎて固まった時

mysql> SHOW PROCESSLIST; で現在実行中のプロセスを確認して、 mysql> kill 10; で対象のプロセスをキルすれば良いらしい。 ちなみに、コマンド全文を確認したい場合はこれ。 mysql> SHOW FULL PROCESSLIST \G; https://takami-hiroki.hatenablog.com/entry…

MySQLのコマンド備忘

MySQLhttps://www.sasukepg.jp/post-1038/ ユーザの確認SELECT host,user FROM mysql.user; パスワードの変更SET PASSWORD FOR usernonamae@"%"=PASSWORD('passwordmoji'); DBに接続mysql -h test-xxxxxrds-yyyymmdd.xxxxxxxxxxxxxxx.ap-northeast-1.rds.ama…

LaravelでRDSに接続できない

$ php artisan migrateマイグレートは正常に通るけど、 コントローラーからMySQLに接続できない Illuminate\Database\QueryException SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known MySQLの権限とか、色…