こんにちは、DBAです。 MySQL 5.6でInnoDBのバッファプールウォームアップが機能追加されました。みなさん使ってますか? MySQL 5.6では正常終了時のダンプも起動時のロードもオフ、対してMySQL 5.7では両方ともオンです。また、MySQL 5.7ではダンプするバッファプールのページ数は(デフォルトでバッファプール全体の25%だけ、となっています。 わたしのオススメ設定は↓です。MySQL 5.6, 5.7両方でも使えるように、loose-接頭辞付きでinnodb_buffer_pool_dump_pct(5.7にあって5.6にないパラメーター)を書いています。 [mysqld] loose-innodb_buffer_pool_dump_pct = 100 innodb_buffer_pool_dump_at_shutdown= 1 innodb_buffer_poo
はじめに やあ (´・ω・`) ようこそ、バーボンハウスへ。 このmysqlはサービスだから、まずsystemctl start mysqld して落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、この記事をかいたんだ じゃあ、注文を聞こうか。 というわけでmysqlをdisります。disるだけなので内容はありません。いいね? mysql には罠がいっぱい そうなんですよ罠がいっぱいなんですよ奥さん。 いやこれはおそらくmysqlに限った話ではないんですけど例えばこういうの! MySQLのチューニングなんてしたらパフォーマンス落ちるだけだし、デフォル
MySQLでは外部キーを設定すると自動的にインデックスが作成されるようです。 逆に外部キーが設定されたままインデックスを削除しようとするとエラーになります。 #1553 - Cannot drop index 'user_id': needed in a foreign key constraint 外部キー設定 alter table profiles add foreign key (user_id) references users (id); 上記を実行すると、以下の名前で外部キー制約とインデックスが作成されます。 外部キー名:profiles_ibfk_1 インデックス名:user_id 外部キー名は指定しない場合は、「テーブル名」_ibfk_[n] ([n]は通番)となります。ちなみにibfkは「InnoDB Foreign key」らしいです。 外部キー設定・追加 Using
さくらVPSで動いてるmysqlに、おうちから接続したくて調べてみたらmy.cnfのbind-addressで制御できるらしい。 bind-address = 127.0.0.1 bind-address = hostname.ddo.jp みたいな設定をしたらおうちからしか繋がらなくなっちゃった。さらにググったらbind-addressは複数設定できないとのことだった。スペースで繋げて書くと先頭のものが、複数行書くと最終行が適用されるらしい。 MySQL :: MySQL 5.1 Reference Manual :: 5.1.3 Server Command Options 正しくはGRANTでユーザーとホストを指定すべきらしい
Percona Data Performance Blogの翻訳。Percona CEOのPeter Zaitevによる、MySQLのメモリー使用量をどのように決めるべきか、またそれを決める時に気にするべきことは何かについてのまとめ。 この記事では、最適なMySQLのメモリー使用量を設定するためのベストプラクティスを扱おうと思います。 使用できるメモリーのリソースをどのように使うか正しく設定するのは、MySQLを最適なパフォーマンスでかつ安定して使うために最も重要なことのひとつです。MySQL 5.7では、デフォルトの設定では非常に少ない量のメモリしか使いません。デフォルトのままにしておくのは、最も良くないことのひとつでしょう。しかし、不適切に設定してしまうと、パフォーマンスを更に悪くする(あるいはクラッシュする)ことにもなりかねません。 MySQLのメモリ使用量を設定するにあたっての最初
はじめに ありきたりなメモなのですが久しぶりの息抜きメモ。 mysqlのauto_incrementについて、 下記みたいなことがちょくちょくありますがその度に忘れてるのでメモ。 auto_incrementの値知るのどうやんだっけなー deleteしちゃったからauto_incrementの値変えなきゃなー deleteしすぎて歯抜けになりすぎたから連番揃えてauto_incrementの値も変えてキレイにしたいなー あじぇんだ auto_incrementの設定を確認する auto_increment値を確認する auto_increment値を更新する auto_increment使ってるテーブルの歯抜けの連番を整理する auto_increment属性のカラムに0(ZERO)入れるとどうなるか 4と5はauto_incrementそのものというよりは auto_incrementテ
実行に時間がかかったクエリを記録する機能になります。 遅いクエリを見つけて、パフォーマンスの改善に役立てましょう。 【設定方法】 ●MySQL5.0系まで ① my.cnfにて下記のパラメータを設定してください。 ※my.cnfに記載しただけでは反映されません。MySQL再起動もしくはset globalでの設定が必要です。 log-slow-queries : long_query_time : 指定した秒数以上かかったクエリを記録(default 10秒) 例)/etc/my.cnf [mysqld] log-slow-queries = /var/lib/mysql/slow_query.log long_query_time = 3 ●MySQL5.1系以上 ① my.cnfにて下記のパラメータを設定してください。 ※my.cnfに記載しただけでは反映されません。MySQL再起動も
数日前に、とみたまさひろさんのこんなツイートがありました。 なんだこれ? MySQLこわい… mysql> SELECT * FROM x WHERE datetime IS NULL; datetime 0000-00-00 00:00:00— とみたまさひろ (@tmtms) 2015, 12月 17 @tmtms ちなみにその '0000-00-00' は、 IS NOT NULL のときには含まれないんですか?— 坂井 恵(SAKAI Kei) (@sakaik) 2015, 12月 17 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.3.2 比較関数と演算子 "NOT NULL として宣言された DATE および DATETIME カラムでは、次のようなステートメントを使用することで、特殊な日付 '0000-00-00' を検索できます" その後の t
2015/08/22 YAPC::Asia Tokyo 2015 Lightning Talk 2016/01/13 update about default_password_lifetime will be 0Read less
PHPと連携させるデータベース管理システムPostgreSQLとはなんぞや? とういうことを調べてみても、PostgreSQLとは「オープンソースのフリーソフトウエア」の「ORDBMS:オブジェクト関係データベース管理システム」ということで終わってしまう。 やはり、他のソフトウエアと比較して初めて、ソフトウエアそれぞれの個性が分かると思う。 そこでPHPと連携させるのだから、PostgreSQLをMySQLと比較するのが手っ取り早いことに気がついた。 MySQLとPostgreSQLの違いをリストアップしてみた。 MySQLとPostgreSQLの販売価格 MySQL:オープンソースでフリー(無償)と商用(有償)のデュアルライセンス PostgreSQL:オープンソースで完全なフリー(無償)ソフトウエア MySQLとPostgreSQLのアーキテクト MySQL:マルチスレッド Postg
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
現時点の最新版であるRails4.2.1以下MySQLデフォルトだと絵文字が保存できません。コンシューマー向けサービスのコメント欄など今どきは普通に絵文字を入力されるのですぐに問題になります。(Incorrect string valueエラーになる) 実直な対応方法はmysqlでutf8ではなくutf8mb4を使うというものです。4byteのunicodeも保存できるようになるので絵文字も問題無しです。絵文字の種類が増えても問題無いでしょう。 ActiveRecordをutf8mb4で動かす - Qiita 穏便な解決方法 rails + mysqlデフォで動かないのと、一部のカラムでだけ対応したいこと、全テーブルのインデックスが長くなるとパフォーマンスに影響でそう、mysqlが古いと対応してない、など後ろ向きの理由があって、怖話ではDBに格納するときだけhuman friendlyな文
YouTubeがMySQLをスケールアウトする「Vitess」をオープンソースで公開。Kubernetesに対応 Google Cloud Platformのブログに投稿された記事「Scaling MySQL in the cloud with Vitess and Kubernetes」で、Vitessは次のように説明されています。 At YouTube, we went on that journey as we scaled our MySQL deployment, which today handles the metadata for billions of daily video views and 300 hours of new video uploads per minute. To do this, we developed the Vitess platform,
こんにちは。初めて会社のブログを書きます。吉川です。 先日、月に一度行われている社内勉強会(hbstyle)にて、下記の発表をしました。 MySQL 5.6.10 以下に存在する レプリケーションのバグと原因特定について (Heartbeats 社内勉強会 2014/12/11) この件に関して、社内・外から反響がありましたので、詳細についてご紹介します。 概要 以下の環境にて、MySQL のレプリケーションが正常に同期されない事象に遭遇しました。 使用している MySQL のバージョンは 5.5.32 バイナリログのフォーマットには ROW を使用 現象としては以下の通りです。 MasterDB で特定のテーブルに書き込んだ更新系 DML が SlaveDB に反映されない SlaveDB にて show slave status\G を実行した結果 Slave_(IO|SQL)_Run
この脆弱性は2012年5月7日にリリースされた MySQL バージョン 5.1.63 と 5.5.24 において修正されました。認証時に指定するパスワードは何でもよく、認証要求を繰り返すと一定確率でログインが可能というかなり奇妙な脆弱性です。すべての環境において発生するわけではありませんが、攻撃成立時には深刻な影響を受けます。 該当するバグチケットは以下です。リリースバージョンも同様の修正でした。 MySQL Bugs: #64884: logins with incorrect password are allowed Rapid7 により PoC や影響が確認された環境等が纏められています。 CVE-2012-2122: A Tragically Comedic Security Flaw in MySQL アプリケーションに対するコード修正は1行のみ、発生する環境が限られている、非常
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く