2017/10/23 MyNA(日本MySQLユーザ会)会 2017年10月 https://atnd.org/events/91275
![MySQLerの7つ道具 plus](https://cdn-ak-scissors.b.st-hatena.com/image/square/2dad7d2216293384f28add10b9df3473b9e1cbe8/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2F7toolsformysqlerplus-170126060731-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜本的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'
MySQL Community Server 5.6.13をソースコードからビルドして、Unix系システムへインストールする手引きです。 この記事ではCentOS 6.4環境でインストールの例を示しますが、自身でソースからビルドする方法は特定のLinuxディストリビューションに依りません。 インストールを行うユーザは、インストール先ディレクトリに対して書込み権限をもっている必要があります。/usr/local/* にインストールする場合、通常、root権限が必要です。 ソースコードを取得する ソースコードをインストールするマシンに用意します。 インターネットからダウンロードする場合、dev.mysql.comにソースコードのURLが示されています。 MySQL DownloadsからDownload MySQL Community Serverへとすすみ、Select Platform…
ファイル内容:insert.sqlINSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U001','花子','鈴木','f',21); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U002','太郎','田中','m',30); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U003','一郎','鈴木','m',45); INSERT INTO tbl_Customer (UserID,FirstName,LastName,Sex,Age) VALUES ('U004','萌子','山口','f',18); INS
クリアネオの特徴 無添加・無着色だから肌が弱い人でも安心 ワキガや嫌な臭いの原因となる菌を殺菌・消毒 お得な定期コースは、購入縛りなし!いつでも解約可能 体臭の悩みは老若男女問わず共通の悩みですが、他人には相談しにくいので1人で悩んでいる人が多いんです。 体臭って、自分でニオイが気になった時は、他の人はもっとクサイと思っています。 もしあなたが、自分でワキガかも…と思うのであれば、周りの人はあなたのニオイに気づいているかも… クリアネオは、そんなワキガ臭や足のニオイなど、イヤーな体臭全般を10秒でカットしてくれるんです。 クリアネオの効果や口コミを調査しましたので徹底解説します。 購入時に特典が付いてくるのでお得 公式サイトはコチラ ※特典は毎月変わるので公式サイトでご確認ください クリアネオはどんな人におすすめ? クリアネオの殺菌率は、なんと99.999%!体臭の悩みを解消してくれるクリ
$sql = "select * from table_namae where no = 115 order by jikan desc"; の場合、上から何番目か知る方法がわからん。 時間でソートして、そのnoが上から何番目かを知りたい。 もちろん、レコードの値も欲しい。 NO 115を検索して タイトル 名前 パスワード → 時間でソートして上から?番目 noはPRIMARYで重複する値はなく常に一つだけ。 SQLで値を得る事は、無理? noは特にその都度変わるので、limitは使えないと思うんですが。 PHPなら、ソートして最初から希望のナンバーまでのレコードを取得。 $i = 0; while($col = mysql_fetch_array($rst)){$i++; if(希望のナンバー){ print "$i番目"; print "タイトル、名前さん。"} } これでも、取得で
MySQLのチューニングにおいて非常に重要となるメモリ(バッファ)関連のパラメータについて、 チューニングのポイント DSASのとあるDBサーバ(実メモリ4GB)の実際の設定値 をまとめてみます。 また、必要メモリの総量の計算や限界値を越えてないかチェックしてくれるスクリプトも紹介します。 是非、参考にしてみてください! まず最初に注意点を。 バッファには2つのタイプがあります。 グローバルバッファ スレッドバッファ グローバルバッファはmysqld全体でそのバッファが1つだけ確保されるもので、 これに対し、 スレッドバッファはスレッド(コネクション)ごとに確保されるものです。 チューニングの際にはグローバル/スレッドの違いを意識するようにしましょう。 なぜなら、スレッドバッファに多くのメモリを割り当てると、コネクションが増えたとたんにアッという間にメモリ不足になってしまうからです。 in
このエントリーは、MySQL Casual Advent Calendar 2011 – MySQL Casual の第 19 日目のエントリーです。 皆さんこんにちは、n0ts こと、Naoya Nakazawa です。 今日は、みなさん日頃からカジュアルに MySQL を運用して、日々生活されていることと思います。MySQL は、非常に安定したオープンソースソフトウェアだと思いますが、どんなものでもときにはおかしくなったりするものです。 「備えあれば憂いなし」ということで、僕は日頃から Nagios というオープンソースソフトウェアを利用して、MySQL がおかしくなっていかいか日々カジュアルに監視しています。 今日は、カジュアルに MySQL を Nagios を使って監視する方法を紹介したいと思います。なお、今回は CentOS 5.7 x86_64 というカジュアルな Linux
rootなのにgrantコマンドが実行できない…。 mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' with grant option; ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES) そんな時の対処法。 これだけなのにかなり悩んだのでメモ。 grant option権限復活 grant有効 とりあえずrootのみにしとく。 mysql> update mysql.user set Grant_priv='Y' where user='root'; 設定反映 mysql> FLUSH PRIVILEGES; 権限確認 rootのGrant_privがYになってるか確認。 mysql> select user,Grant_priv from m
しわっす!DBA 兼オペレーションエンジニア兼タスクマネージャやってる riywo です。何のネタを書こうかなぁと考えたのですが、正直ネタを仕込む時間もなかったので僕がいつもやってることをさらっと紹介するということで勘弁して下さい>< MySQL がおかしい! 03:14 hidek: なんかエラー出まくってるんだけど! 03:14 zigorou: MySQL と通信してるとこっぽい 03:15 riywo: 見ます こんなやりとりは皆さん日常茶飯事ですよね?ね?ね?こんな時に、DB に責任を持つものとして真っ先に対応するのが僕らの仕事です。でも、じゃあ具体的にこのあと何をしましょう?既にサービスはエラーだらけで一刻を争う状態です。 (対応開始) まずはエラーメッセージ 今回の様な場合はアプリのエラーログにどばっと MySQL に関するエラーが出ているでしょう。まずはそれを見ることが始ま
1. 概要 MySQLでレプリケーションを行っているとMasterにバイナリログが溜っていきディスクを圧迫するので定期的に削除してやる必要がある。 2. 手順 2.1 レプリケーション状態の確認 まず、どこまでバイナリログを削除してよいかを調べる。 Slave側でSHOW SLAVE STATUSを実行し、Slaveがバイナリログをどこまで読み取っているかを調べる。「Master_Log_File」が現在参照中のバイナリログ。以下の例ではskylancer00-bin.000084を使用していることになるので、skylancer00-bin.000083まで削除してしまってよいことになる。Slaveが複数いる場合は、全Slaveについて確認を行う。 mysql> SHOW SLAVE STATUS \G *************************** 1. row ********
古いMySQLからMySQL5の最新版にアップグレードする際の文字化けを防ぐバックアップ&リストア方法 2011年01月18日- 古いMySQLからMySQL5の最新版にアップグレードする際の文字化けを防ぐバックアップ&リストア方法。 つい先日、とあるサーバのMySQLのバージョンが相当古く4.1ということだったので最新GAの5.5.8にバージョンアップしました。 大幅なパフォーマンス向上やクラッシュリカバリの高速化など5.5系にアップグレードのメリットは大きいですね (詳しくは奥野さんのブログを参照) 尚、一つ前のGAである5.1系へのアップグレードにも使えます 尚、rpmパッケージでのアップグレード方法ではなく、ソースのコンパイルベースのアップグレードなのでご注意ください。(バイナリダウンロードでも使えます) その際に、データベースの移行をするため、mysqldumpを使い 高速にバッ
以下の環境にインストールしたばかりですので、メモしておきます。自分の過去エントリ(MySQL 5.0.45をソースからインストールする on CentOS4.4)を参考にしました。 CentOS5.1 MySQL5.0.51a mysqlユーザの追加 # groupadd mysql # useradd -g mysql mysql MySQLのダウンロードMySQLのサイトはこちらMySQL :: 世界でもっとも普及している、オープン ソース データベースMySQL5.0のダウンロードはこちらからMySQL :: MySQL 5.0 Downloadsここでは5.0.51aのソース(tar.gz)をダウンロードします。 # cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a
1.2 レプリケーションの動作レプリケーションでは最初にDBの内容を同期させた後、Masterサーバーで実行された更新系のクエリ(UPDATEとか)をSlaveに渡してSlaveでも同じクエリを実行していくことで、DBを同期させている(図1)。 Master側で実行された更新系クエリはバイナリログに蓄えられており、Slave側が接続してきたら、前回の接続からの変更分をSlave側に送信する。Slave側は受け取ったクエリを一旦リレーログに蓄えて順次クエリを実行してDBを同期させていく。リプリケーション動作にはBinlogDump,I/O,SQLの3つのスレッドが連携して動作する。 2.設定手順 (Master-Slave構成) 2.1 Master側の設定の確認Master側ではバイナリログを採取しておく必要があるので、Master側のmy.cnfにlog-binの設定が入っていることを確
MySQL サーバーへの接続を試行したときに問題が発生した場合に問題を修正するために実行できる一連のアクションについて、次の項目で説明します。 サーバーが実行中であることを確認します。そうでない場合、クライアントは接続できません。たとえば、サーバーに接続しようとして次のいずれかのようなメッセージで失敗した場合、サーバーが実行中でないことが 1 つの原因であることがあります。 shell> mysql ERROR 2003: Can't connect to MySQL server on 'host_name' (111) shell> mysql ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) サーバーは実行しているが、サーバーが待機しているのと異なる TCP/I
間違って主キーと同じ値を含む行を挿入しようとしたらエラーを出して教えてほしいとき INSERT INTO test VALUES(1,100); とすると、ERROR 1062 (23000): Duplicate entry '1' for key 1 というエラーが出る。 間違って主キーと同じ値を含む行を挿入しようとしても無視して処理を続行してほしいとき INSERT IGNORE INTO test VALUES(1,100); とすると、Query OK, 0 rows affected (0.00 sec) と表示される。テーブルは変更されていない。 主キーと同じ値を含む行がないなら新しく挿入し、あるならその行を更新してほしいとき REPLACE INTO test VALUES(1,500); とすると、Query OK, 2 rows affected (0.00 sec)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く