MySQLのレプリケーション環境を運用していると、バイナリログへの記録を一時的に止めるためにsql_log_bin=0を実行したことがあるだろう。これを「set GLOBAL sql_log_bin=0」と、グローバル変数への変更として実行すると大変なことになる、という指摘。TwitterのMySQLエンジニア、Jeremy Cole氏の提言。 MySQL 5.5.41、5.6. …
カテゴリー: SQL
SQL 置換 REPLACE
値を置換します。 UPDATE テーブル名 SET カラム名 = REPLACE(カラム名, ‘値old’, ‘値new’); 万単位のレコード置換は本当に気持ちが良いもの。 このクエリ大好き。 使う機会を震えて待ってます(*’∀’人) Amazonおすすめ iPad 9世代 2021年最新作 iPa …
MySQL レプリケーション監視スクリプト
レプリケーション監視スクリプト replication_check.sh #!/bin/sh #PASSWORD=”パスワードを入力” EMAIL=hoge@example.net DOMAIN=crient.com CRIENT=”もげ株式会社” #eval “`mysql -u root -p${PASSWORD} -e ‘show slave status \ …
【Munin】 MySQL InnoDB free tablespace UNKNOWNs: Bytes free is unknown.
Munin-notification for net::example.net net :: example.net :: MySQL InnoDB free tablespace UNKNOWNs: Bytes free is unknown. # /etc/my.cnf 自動拡張のサイズ innodb_autoextend_increment = 64 …
MySQLダンプスクリプト
ログイン用ファイル作成 ※rootパスワード設定時 # vi /root/.my.cnf [mysqladmin] host = localhost user = root password = DBpassword [client] user = root password = DBpassword host = localhost # chmod 400 /root …
中間テーブル 関連実体 intermediate table
リレーション AとBのテーブルがあった時に、AのレコードがBのレコードにいくつかリレーション(関係)を持つかを考える。 1対1の関係 将来も1対1のリレーションであるなら、そもそもテーブルを分割する必要がない 1対多の関係 通常のリレーション playerテーブルのサトシくんはポケモンをたくさん所有しています。 更 …
MySQLのデータディレクトリを変更する
ディレクトリの作成 # mkdir -p /home/mysql # chmod 755 /home/mysql # chown mysql:mysql -R /home/mysql 新しいディレクトリにデータを複製し、元を削除 # cp -rfp /var/lib/mysql/* /home/mysql/ # rm -rf /var/lib/mysq …
MySQLTuner CentOS7
MySQLTunerインストール # wget -O /usr/local/src/MySQLTuner.zip https://github.com/rackerhacker/MySQLTuner-perl/archive/master.zip # unzip /usr/local/src/MySQLTuner.zip -d /usr/local/src/ # rm -f /usr …
SQL作成 考え方
まずは表示させたい結果の列名を考える if 関数SUM, COUNTは必要 ⇒列名に対してSUMやCOUNTを入れて AS SUMやCOUNT後に条件を加える必要がある? ⇒HAVING if GROUP BYが必要? ⇒GROUP BYを使う必要がある時はそれを基準に表示結果を考える GROUP BY 句の後に条件を加える必要がある? ⇒HAVING if テーブル結合は必 …
SQLの実行順序
実行順序 1 検索条件 WHERE 2 グループ化 GROUP BY 3 関数 SUM, COUNT, AVG, MAX, MIN 4 HAVING 例 SELECT timestamp, SUM(pay) FROM customer GROUP BY timestamp HAVING SUM(pay) > 9000 ; HAVIN …
WHERE句なしのUPDATE
全件更新される。 →死 Amazonおすすめ iPad 9世代 2021年最新作 iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><
MySQL 外部キー制約のデッドロック
外部キー制約に伴うロックの小話 from ichirin2501 外部キー(FOREIGN KEY)制約を利用している場合、 子テーブルに追加、更新や削除を行う時は、必ず親テーブルの対象のidに対して排他ロックを行ってから、更新や削除、追加を行う。 親テーブルの該当idに対して排他ロックを取る 子テーブルの該当行に対して追加、更新、削除等を行う これならロックは起こらない。 &n …