Database JUNKY

MySQL,MariaDBを中心としたブログです

コマンドでNagiosのアラートを停止したい場合ってないですか?

例えば、外出時に、障害アラートが連発して、対応より先にこのうるさいアラート止めろ!とか言われたことないですか?笑 いや、僕はよく言われているのですが、そういう時に限って、スマホタブレットしか持ってないとかケースがあって簡単にアラートを停止することができないんですよね?笑 しかも弊社の場合、Slackに通知しているもんだから、Slackのメッセージのfloodになることもしばしば・・

もちろん、スマホのブラウザで操作することもできるのですが、これがものすごくめんどくせえ・・

せめて、スマホsshクライアントとか使って簡単にコマンドで制御できないかなっていまさら思ったら。。ありました笑

厳密には、コマンドというよりcurlで対象の機能を叩くってのが正解ですが。。

なお、これは、外部インターネットからNagiosのコンソール画面が見れる人限定の話です汗 VPNで接続すれば可能だとは思いますが、ここではその話には触れません。

続きを読む

MySQL 8 で簡単に予約語を調べる方法!

よくテーブルデザインをする際、あれ?これって予約語じゃね?って時ありませんか? もっと細かくみたい場合、WEBで調べるとか・・・ちょっとめんどくさいですよね。

いままで全然、知らなかったのですが、MySQL 8.0以降では、予約語をこんなに簡単になりました。

続きを読む

Nagiosから謎のエラーDISK CRITICAL - /sys/kernel/debug/tracing is not accessible: Permission deniedの対処方法について

nrpeでテストした時は何も問題なかったのですが、Nagiosサーバから当該nrpeを叩くと以下のようなエラーが出ました・・奇怪な・・

  • 設定したコマンド(ディスクチェック)
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10%
  • エラーの内容
DISK CRITICAL - /sys/kernel/debug/tracing is not accessible: Permission denied

Nagiosを再起動してもだめ、サーバ自体を再起動してもだめ、Nrpeクライアントをリスタートしてもダメダメ・・ 他のインスタンスと設定同じなのになー。。唯一の違いは、amazon linuxamazon linux2くらいか。。

続きを読む

よくわからないままlxd3.0をインストールし色々とコンテナを弄ってみる

ubuntu linuxもよくわかっていない状態で、(いまごろ)lxdというものに興味を持ち色々試してみたメモを残しておきます。 そもそも、LXDとは何ってところもわかっていないのですが、VMWAREとか、XENKVM等仮想化のコンテナ版というくらいの認識しか私には今のところありません(汗)

今回検証したubuntu linuxは、Ubuntu 18.04.4 LTSで、lxdのバージョンは3.0 です。メモの随所に、lxdの話ではなく、ubuntuの話が混ざっておりますが、どちらもよくわかっていないので、許してください。

まだ勉強途中ですが、意外とこれいいかも!って思っています。

続きを読む

15分でMySQL8.0をamazon linux2にyumでインストールする!!

amazon linux1でMySQL 8.0のインストールは何回もやったのですが、amazon linux2でのMySQL8系のインストールは初めて・・そして、やっぱりインストールでハマった・・(汗)

前回は、amazon linux1

hit.hateblo.jp

今回は、amazon linux2にmysql 8.0をインストールする手順を書きます。一部、個別の設定等も書いてしまっているので、皆様の環境に合わせて不要な情報は随時読み飛ばしてくださいませ

続きを読む

apacheを名前ベースバーチャルホストで運用する際のデフォルトサーバについて

しょうもないところでハマったのでメモ

バーチャルホストの説明はもうわかっている(つもり)なので、割愛

バーチャルホストの例 - Apache HTTP サーバ バージョン 2.2

例えば、上記のような設定にした場合、デフォルトサーバは、 www.example.com になります。あ、、ちなみにデフォルトサーバって対象のサーバに、www.example.comでもなく、www.example.orgのアクセスでもない場合、例えばIPでのアクセスもしくは、バーチャルホストに設定されていない場合のドメイン名でアクセスした場合に適用されるデフォルトのドキュメントルートのことをさします

一言でいうと、一番最初に読み込まれた設定がデフォルトサーバになるので、この場合、www.example.comになるわけです。

これが1ファイル内の設定なら良いのですが、じゃあ、confファイルをドメイン毎に分けた場合、デフォルトサーバは何になるのっていうのを検証しました。

続きを読む

AWS EC2インスタンスのEBSディスク領域をサービス無停止で拡張する方法

amazon ec2ディスクを無停止で拡張する

EC2インタンスで数年運用していると、様々の理由でディスクの領域が枯渇することってないですか?私の場合、データベースサーバをEC2 インスタンスで動かしていて、初めは不要なファイル、もしくはテーブルをDROPしてなんとか対処していたのですが、にっちもさっちもいかなくなってもう限界に・・しかし、サービス止めれないよな?どうしよう(汗)って感じで、色々調べているうちに、いつの間にかインスタンスを止めずにディスク領域を拡張できるようになっていた・・・って話です。

今回EC2のインスタンスは、CENTOS7で実行しております。redhat linuxおよび amazon linuxでの作業内容に大きな差はないと思います。

続きを読む

iPadでEscキーが使えるキーボードが見つかりました!って話・・さてiPadOSではどうかなー?

IPad + 外付けキーボードで、インフラエンジニアさんがネックのなるのは、ESCキーが無いこと。。もちろんショートカット( CTRL + C )でその代用はできるのですが、普段やらない操作なので、ちょっとイラっときてしまいます(自分だけかも)

またまた。。

今回もハードウェアキーボードのお話になりますが、なんと!? iPadでESCキーが有効なキーボードを見つけてしまったのです!

それがこちらになります!! おかげさまで、外出時に喫茶店などで、緊急の対応をiPadでさらっと行えることができる。いや、ノートPC持てよ!って話が出そうですが、いやいや、ノートPCに比べれば、もう重量が変わってくるし、コンパクトですよね!!

f:id:hit10231023:20180811175647j:plain

そんな中で、ベストマッチのキーボードを見つけてしまいました! そして商品説明に良い意味で偽りあり!!やっと引き当てた、iPadキーボード!

もう、このキーボード以外iPadでは使わないかもってくらいよくできています

続きを読む

【AWS】異なるリージョンにあるMySQLサーバに接続する方法

今回は文字だけ(笑)

例えば、アプリケーションサーバが東京リージョンにあって、DBサーバがUSリージョンにある場合でDBサーバは、public ipをもっていない場合(まあ、大概そうですが・・)この東京リージョンにあるWEBサーバからシームレスにUSリージョンのDBサーバに接続するためには、どうすればいいんでしょう?って話です。 昨今だと、AWSは、VPC ピアリング接続なんかでシームレスに異なるリージョンのVPCに接続できたりするんですが、めんどくさいとかの人向けの情報っていうか、どっちかっていうと自分の備忘録です(笑)

条件としては、

  • USのVPCには、踏み台サーバがある
  • DBは、PRIVATE IPしかもっていない

この条件で、USのMySQLサーバに接続する方法をざっと書いていきたいと思います

続きを読む

USB-Cの沼に落ちている方に朗報!? 12 インチ MacBook で外部ディスプレイでPD給電しながら4K 3840 x 2160 60HZ 解像度で表示する方法!

いやー、USB-Cの沼にハマりました…汗 軽くて、しかも性能よくて持ち運びが便利なので、過去MacBook (Retina, 12-inch, Early 2016)を購入したんですね。最近自宅のiMacが死亡寸前なので、MacBook を自宅と出先で利用するかな?って思った次第でありまして。あぁ、それなら外部ディスプレイもあったほうが作業しやすいじゃん!外部ディプレイもRetinaの恩恵受けたいじゃんなんて色々考えた末、比較的安価な4Kディスプレイを購入したんですね。それが、これ!

これがあれば、4K(3840x2160)で表示できるんだ!やったぜ!と下調べもせずに購入しました(笑) でも、あとで気付いちゃったんですよ…そういえば、MacBook ってUSB-Cポートが1個しかないってことに。。。

そこからUSB-Cの沼に入ったお話と、解決した話を書いていきます…

続きを読む

MySQL8 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11の対処方法について

MySQL5.7からMySQL 8.0にアップグレードしてしばらく経過したところ、じゃあ、MySQL8でのmy.cnfをいじってみようかと思ったところからが地獄の始まり。謎のエラーで起動しなくなってしまいました

2019-03-18T05:15:40.431335Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

えっーっと・・なんだろう、ibdata1のロックが取得できない・・もしかしてクラッシュした?(汗) なんでロックが取得できないんだろう。。。と色々と考えたところで・・

続きを読む

AWS ELB&NginxでIPアドレス直指定アクセスを拒否する方法でハマった・・どうやるんだろう?

AWS ELB(ALB)でIPアドレス直指定アクセスを禁止する方法ですが。。 例えば、www.abc.abcというドメインのELBの111.222.333.444だったとして、http://www.abc.abc にはアクセスを許可したいけど、http://111.222.333.444はアクセスを拒否したいなんてことないですか? すこし例が悪いですが、逆に、111.222.333.444のIPは、www.abc.abcと、www2.abc.abcという2つのドメインを持っている場合で、IPアドレスでのアクセスは拒否して、そのほかドメインの指定は、アクセスを許可したいという場合は、ELBでどのように設定すれば良いのでしょうか?

それは・・・

ELBの設定ではわかりませんでした(汗) 誰か教えてください

というわけで、ELBというより、ターゲットホストのnginxでそれを制御する方法をメモしました。

Amazon Web Services パターン別構築・運用ガイド 改訂第2版

Amazon Web Services パターン別構築・運用ガイド 改訂第2版

続きを読む

MySQL AUTO_INCREMENTカラムの変更方法

たとえば、こんなテーブルがあったとします。このテーブルってidがプライマリーキーです。

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `seq_id` int(10) unsigned NOT NULL ,
  `name` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
)
;

以下のように、seq_idをPRIMARY KEYに変更したい場合、どのような手順を踏めば良いでしょうか?すこし力技になります

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL ,
  `seq_id` int(10) unsigned NOT NULL NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '',
  PRIMARY KEY (`seq_id`)
)
;

筋トレが最強のソリューションである マッチョ社長が教える究極の悩み解決法

筋トレが最強のソリューションである マッチョ社長が教える究極の悩み解決法

超筋トレが最強のソリューションである 筋肉が人生を変える超科学的な理由

超筋トレが最強のソリューションである 筋肉が人生を変える超科学的な理由

続きを読む

MySQL リモートからの接続時にMySQLプロンプトにユーザー名とホスト名とデータベース名に変更する方法

すごく大した話ではないのですが、複数のデータベースを保有している時、コマンド接続した際に、どこのDBサーバに接続しているかわかんなくなっちゃうことありませんか? 自分の場合、管理が良くないので、本番データベースに接続しているのか、テスト用のデータベースに接続しているのかわからなくなることがあります。 基本的に自分はツールは使わないであくまでもコマンドラインです。パスワードを変えているから問題ないでしょ?と言われるかもしれませんが、複数のターミナルで本番環境とテスト環境が同時に立ち上がっている時が多く、テスト環境だと思いきや、実は本番環境を更新してたわ(汗)なんてことが多くあり、冷や汗を出したことがあります。

何書いているかわかんないですよね(笑)私が言いたいのはつまりこういうことです。

クライアントAからホストB(本番)のmydb に接続した場合のMySQLプロンプト

接続

[user@host_a ~] mysql -umyuser -p -h host_b -Dmydb

接続後のMySQLプロンプト

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [mydb]>

クライアントAからホストC(テスト)のmydbに接続した場合のMySQLプロンプト

接続

[user@host_a ~] mysql -umyuser -p -h host_c -Dmydb

接続後のMySQLプロンプト

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [mydb]>

ね?この状態で本番、テスト環境ともに、同じデータベースだった場合、どっちに接続しているかわからなくないですか?

というわけで、私は、MySQLのプロンプトを以下のようにしたいのです

myuser@host_b [mydb] >

続きを読む