タグ

mysqlとMySQLに関するtyoro1210のブックマーク (114)

  • さよなら本番サーバー - Qiita

    とあるSESの現場では番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、番で使うためのデータの整備を番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。 業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。 通知のURLをクリックしてRedmineのチケットを確認してみる。 それによると一旦番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無

    さよなら本番サーバー - Qiita
    tyoro1210
    tyoro1210 2019/12/03
    .ssh ディレクトリに所有者以外の書込み権与えると繋がらないやつやね。 /var/log/secure に「bad ownership or modes」ってログが残ったりするので、繋がってるコンソールがどっかにあればログ確認すれば分かるやつ。
  • 【MySQL 8.0 予約語一覧】 8.0以降で予約語になった数なんと21ありました!!

    MySQLの予約語がかなり多かったので予約語だけ抜粋してまとめてみました。 MySQLは予約語多いですね~!! 一目でわかりやすいように、8.0以降で追加されたり予約語になったものはアンダーラインを入れておきます。 何度か見直したつもりですが、間違いがあった時はすみません ( ..)φ DB名、テーブル名、カラム名の識別子を付ける祭は予約語は使わないようにしましょう! もし、バージョンUP前に使用されていて回避策で使用するのであれば、バッククォート「` `」で囲めば大丈夫です。 予約語とは 予約語とは言語の仕様で使い方が決められている単語のことです。 出典 MySQL 8.0のキーワードと予約語 A ~C

    【MySQL 8.0 予約語一覧】 8.0以降で予約語になった数なんと21ありました!!
    tyoro1210
    tyoro1210 2019/06/07
    system
  • なぜあなたは SHOW ENGINE INNODB STATUS を読まないのか - そーだいなるらくがき帳

    この記事は、MySQL Casual Advent Calendar 2017の20日目の記事です。 煽り気味のタイトルですがみなさん SHOW ENGINE INNODB STATUS 読んでますか? SHOW ENGINE INNODB STATUS \G 見づらいのなんとかならんのか。— そーだい@初代ALF (@soudai1025) 2016年12月20日 わかる。でもMySQLの振る舞いを知る中でSHOW ENGINE INNODB STATUSを読まざる得ない場面はそこそこあります。 どんな時に必要になるのでしょうか? そこでSHOW ENGINE INNODB STATUSにまつわる話を書きます。 SHOW ENGINE INNODB STATUS をまず読みやすくする まず末尾に \G を付けましょう。 これで3倍読みやすくなります。 次に pager less -S を

    なぜあなたは SHOW ENGINE INNODB STATUS を読まないのか - そーだいなるらくがき帳
  • 事前にデータ投入をした MySQL Docker イメージを作る場合は /docker-entrypoint-initdb.d を活用すると便利 - kakakakakku blog

    事前にデータ投入をした MySQL Docker イメージが必要になり,最初は「Dockerfile で頑張る感じかなぁ...」なんて考えながら調査をしていたら,公式の MySQL Docker イメージに「カスタムスクリプトを実行する機能」が用意されていることを知って,全て解決した.今までも MySQLDocker で動かす場面はあったけど,今回の機能は知らなくて勉強になった. CI で使うためにマイグレーション実行済の MySQL Docker イメージを用意しても良いし,新メンバーのために開発用の初期データを投入した MySQL Docker イメージを用意しても良いし,ハンズオンイベントのためにテストデータを投入した MySQL Docker イメージを用意しても良いと思う.今回の仕組みを知っておくと便利な場面は多そう. 公式の Dockerfile と docker-ent

    事前にデータ投入をした MySQL Docker イメージを作る場合は /docker-entrypoint-initdb.d を活用すると便利 - kakakakakku blog
  • docker-composeでデータベースコンテナを立てるときのTips

    docker-composeを使うと連携する複数のコンテナを割と簡単に構築できます。 アプリケーションコンテナや開発用コンテナからデータベースコンテナを扱う際に気になったことをまとめてみます。 ✗TOC データベースの永続化 redis mysql postgres mongo データベースを参照する方法 portの指定 データベースの永続化 データベース内のデータは永続化しないと消えてしまうので、残したい場合は明示的に永続化させておく必要があります。 公式のイメージの設定例(redis, mysql, postgres, mongo)を書きます、ホストのディレクトリにマウントする方法(data volume)を採用しています。データコンテナを使う方法は書いていません。 redis Docker Hub /dataをマウントすると良いようです。docker-compose.ymlに以下のよ

  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
  • REPLACE INTOが実はINSERT + DELETEだった(INSERTが先で後から消す) 間違ってました。。

    REPLACE INTOが実はINSERT + DELETEだった(INSERTが先で後から消す) 間違ってました。。 「INSERT .. ON DUPLICATE KEY UPDATE ..でクエリを投げているけど、99%くらいはUPDATEになっている」 「UPDATEを直接投げた方が速かったりする?」 「極端にパフォーマンス違うんだったら、UPDATEが転けてからINSERTする方式も考える」 とか聞かれたのでINSERT .. ON DUPLICATE KEY UPDATEについて調べてたんですが、 ソース読んでたら豆知識に出会ったのでメモ。 5.6.10のsql/sql_insert.ccの中でゴニョゴニョしている気配があるけど、write_record関数の中で table->file->ha_write_row(table->record[0]してみる。 ⇒何もないINSE

  • MySQL5.7.9を試した - Qiita

    10/26リリースでアナウンスされていた5.7.9が、10/22にGAとしてリポジトリに登録されたのでインストール。 CentOS6に新規インストールして、5.7.8RC2で試していた内容を再確認。 インストール&起動 http://dev.mysql.com/downloads/repo/yum/ からリポジトリファイルを取得してインストール # rpm -ivh mysql57-community-release-el6-7.noarch.rpm 準備中... ########################################### [100%] 1:mysql57-community-relea########################################### [100%] # yum install mysql-community-client \

    MySQL5.7.9を試した - Qiita
    tyoro1210
    tyoro1210 2017/04/21
    『まずは初期パスワード(temporary password )の確認』 mysql -u root で入れないと思ったらログに吐いてたのか
  • mysql-to-rest

    mysql-to-rest mysql-to-rest is a module to map a MySQL-DB to an REST API. The foundation for this module is the express framework, as well as the mysql package for the DB connection. API Installation $ npm install mysql-to-rest First load express and mysql

    mysql-to-rest
  • mysqlをrestでアクセスできてもいいじゃない - Qiita

    RDB v.s KVS KVS触っていて、「RESTAPIがあるのっていいなー」とは思う。複雑なクエリは出せないけど、curlコマンド一発でアクセスできる。だったら複雑ではないクエリなら、mysqlにそういうRESTのかぶせものがあってもいい。 mysql-to-restは nodeで使える、mysqlにREST をかぶせるライブラリ 以下、mysql-to-restを使ったサンプルソース。依存モジュールはmysql-to-restのREADMEにしたがって入れてください。手元にポケモンGOポケモンの出現情報をためたテーブルがあるのでそれを取得してみた。 var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password :

    mysqlをrestでアクセスできてもいいじゃない - Qiita
  • MySQL InnoDBストレージエンジンのチューニング(後編)(EnterpriseZine) - goo ニュース

    チューニングの基礎  それでは、具体的にInnoDBでどこをチューニングするべきかを見ていこう。 ■バッファプール  最も基となるのがバッファサイズの調整だ。ワーキングセットが全てバッファに収まらない限り、バッファプールは大きければ大きいほど良い。その分ディスクアクセスが減るからだ。バッファサイズが小さいと、キャッシュミス時にディスクからReadするのに時間がかかり、I/Oがボトルネックになってしまう。予算のある限りメモリを目いっぱい搭載し、バッファプールに割り当てよう。InnoDBのバッファプールは、innodb_buffer_pool_sizeオプションで設定する。利用可能なメモリは、他の処理に必要な分を除いたすべてをInnoDBのバッファプールに割り当てよう。 innodb_buffer_pool=32G ここで一つ注意がある。innodb_buffer_pool_sizeはバッフ

    MySQL InnoDBストレージエンジンのチューニング(後編)(EnterpriseZine) - goo ニュース
  • MySQLでrootパスワードを忘れた場合の対処方法 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、管理課でありながらエンジニア(?)のtetsuです。 MySQLでrootパスワードを紛失したり、またはパスワードが行方不明になったりしたとき、MySQLへの接続が出来なくなったら冷や汗ものですよね? よくこんなエラーに遭遇します。 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 今回は、このような場合でも、MySQLのrootのパスワードをリセットする方法を紹介します。 サーバの環境はCentOS、MySQL上での説明になります。 サーバへ接続 まずはサーバへSSH接続をします。これを行えないと話が始まりません。笑 SSH接続については省略します。 起動しているMySQLを停止 MySQLサービスを下記のコマンドで一旦停止させます。 service mysq

    MySQLでrootパスワードを忘れた場合の対処方法 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • New RelicでMySQLを詳細に監視する - Qiita

    クラウド時代の運用監視サービス「New Relic」にMySQLを監視するためのPLUGINをインストールする方法をまとめてみました。 前提 New Relicのアカウントを取得済みであること まだ取得されてない方はこちらをどうぞ 動作環境 監視エージェントを実行するサーバにJava1.6以上がインストールされていること 監視エージェントを実行するサーバにMySQLクライアントがインストールされていること 監視対象のMySQLが5.0以上であること 事前準備 MySQLに監視用アカウントの作成を行います mysql> CREATE USER newrelic@'%' IDENTIFIED BY 'himitsu'; mysql> GRANT PROCESS,REPLICATION CLIENT ON *.* TO newrelic@'%'; ユーザ名や接続許可するネットワークなどは適宜変更

    New RelicでMySQLを詳細に監視する - Qiita
  • New Relic MySQL PluginでAmazon RDS for MySQLの性能を監視 | 稲葉サーバーデザイン

    北海道札幌市在住、サーバー専門のフリーランスエンジニアです。クラウドサービスを利用してWebサイト、ITシステムのサーバー構成設計とサーバー構築を行います。 ひとつ前の記事で、CactiプラグインによるAmazon RDSの性能監視について書きましたが、ここではNew Relicプラグインによる性能監視についてまとめます。 New Relicについて New Relicは、SaaS型の性能監視サービスです。 ・New Relic https://newrelic.com/ 少し古いですが、このブログでもNew Relicを紹介しました。 ・性能監視サービスNew Relicについて https://inaba-serverdesign.jp/blog/20130912/newrelic.html New Relicは、サーバーにエージェントをインストールすることで自動的に監視データをNew

    New Relic MySQL PluginでAmazon RDS for MySQLの性能を監視 | 稲葉サーバーデザイン
  • MySQLで処理に長時間かかっている複数クエリをまとめて殺す方法 | Basicinc Enjoy Hacking!

    あまりにも処理に時間がかかるようなSQLを実行してしまい、MySQLがうんともすんとも言わなくなってしまうような状況、よくありますよね。っていうか、まぁそんな状況あってはならないんですが、時たまあります。そんな時、問題となっているクエリの処理を止めたいわけです。 特定のクエリを止める方法 MySQLで実行中のクエリ一覧を見て、SQLを強制終了する方法 こちらを見てもらえればやり方は分かります。単純にMySQLに入って、show processlist;で問題のあるクエリを発見し、プロセスIDを kill するだけ。とても簡単。 複数のクエリを一括で止める方法 今回は問題のあるクエリが100個あったらどうする…?的なのを解決するエントリーです。まぁ、問題あるクエリ100個ある状況は、アプリ的に問題あるんじゃね?っていうレベルですが。 1個ずつプロセスIDをコピペして…なんてやってられないです

    MySQLで処理に長時間かかっている複数クエリをまとめて殺す方法 | Basicinc Enjoy Hacking!
  • MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

    スナップショットを使えばとある瞬間のディスクやファイルシステムのデータをいつでも後から参照することができる。しかもスナップショットの作成は一瞬だ。スナップショット機能を活用すれば最強のオンラインバックアップソリューションが出来るだろう。 しかし、スナップショットでバックアップを取るなんて危険な操作じゃないのか?!と不安に思われる方もいらっしゃるかも知れない。MySQL Serverが稼働中にいきなりデータだけをとってくるのだから、そのような疑問を持たれるのは頷ける。しかし仕組みさえ分かればスナップショットによるバックアップは怖くないということが分かるはずだ。そこで、まずはスナップショットによるバックアップの仕組みについて説明する。スナップショットを取る際の要件は次の通りである。 全てのデータを単一のボリュームに置くこと。つまり、一回のスナップショット操作でバックアップが取れることだ。 ディ

    MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup
  • Block Nested Loop Join/Batched Key Access Join

    EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

    Block Nested Loop Join/Batched Key Access Join
  • MySQL 5.6で追加されたICPを追ってみました。 - Qiita

    この記事はMySQL Casual Advent Calendar 2013 on Zusaarの19日目です。 yokuさんの記事「日々の覚書: あなたのMySQL 5.6トレンド力をチェックする15の質問」を見て、新しく加わったオプティマイザのことをちゃんと調べていなかったと思いまして、改めて調べてみました。 まず、どういう種類があるでしょうか。例として、ひとまず5つあるようです。 Index Condition Pushdown(ICP)の追加 BKA-Joinの追加 Multi-Range Read(MRR)の追加 FROM句サブクエリーの最適化 Optimizer Traceの追加 これら、Block Nested-Loop(BNLJ)やBKA、ICP etcに関して、nippondanjiさんの記事がわかりやすく説明してくださっています。 ここでは、第一弾(?)としてICPを改

    MySQL 5.6で追加されたICPを追ってみました。 - Qiita
  • 加速的に膨張する宇宙のように進化するMySQL!最新開発版MySQL 5.6.3 m6新機能解説

    最新の開発版であるMySQL 5.6.3-m6がリリースされた。清く正しいMySQLerの皆さんはすでにダウンロードして、評価を楽しんでくれていることだろう。はっきり言ってこのバージョンは凄い。明らかに前バージョンのMySQL 5.6.2から搭載されている新機能の数は膨大である。それはMySQL 5.6.3のリリースノートを見てもらえば一目瞭然だ。凄いボリュームだからだ。 今回はそんな膨大な新機能を搭載したMySQL 5.6.3について、要点を解説しようと思う。MySQL 5.6.3は開発版なので今直ぐ番環境へ投入したい!というはやる気持ちはグッと我慢して頂きたいが、ぜひ評価はしていただきたいと思う。 パラレルSQLスレッドMySQLのレプリケーションでは、大量のクエリを実行すると何かとスレーブが遅れがちであった。スレーブでは単一のSQLスレッドだけがクエリを実行するからである。その問題

    加速的に膨張する宇宙のように進化するMySQL!最新開発版MySQL 5.6.3 m6新機能解説
    tyoro1210
    tyoro1210 2016/02/10
    Optimizer Trace
  • Sort系ステータス変数について - mir the developer

    概要 http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html マニュアルでは以下のように説明されている。 変数名 意味 Sort_range レンジを使用して行われたソートの回数。 Sort_scan テーブルをスキャンすることによって行われたソートの回数。 Sort_merge_passes ソートアルゴリズムが必要としたマージパスの数。この値が大きい場合、システム変数のsort_buffer_sizeの値を増やすことを検討すべきです。 Sort_rows ソートされた行数。 ステータス変数の実体 変数名 実体 Sort_range STATUS_VAR.filesort_range_count Sort_scan STATUS_VAR.filesort_scan_count Sort_merge_passe

    Sort系ステータス変数について - mir the developer