APIdays Paris 2019 - Innovation @ scale, APIs as Digital Factories' New Machi...
どうもfujiharaです。今年も残りわずかですね。 年々寒く感じる度合いが強くなっているのですが、基礎代謝が落ちてるのが 原因かと怯えています。 今回はとある案件でサーバ移行時にMySQLのバージョンが上がり 8.x になったときに PHPから接続できない現象が発生して解決した方法をご紹介します。 背景 とあるプロジェクトでサーバ移行が必要だったのですが、 コンテンツを移行して、いざページを表示するとMySQLにつながらない。 原因 エラーを確認するとパスワードで弾かれてました。 原因を探すとMySQL 8では パスワードがデフォルトで暗号化されるので(cache_sha2_password) プログラムから接続する場合もこれに対応していないと接続ができないとのこと。 今回はプログラム側を変更しなかったので、 MySQL側で以下の用に対応しました。 # /etc/my.cnf [mysq
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQL の JOIN のことを考えて心の平静を保っていました。 サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。 しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。 現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年
はじめに やあ (´・ω・`) ようこそ、バーボンハウスへ。 このmysqlはサービスだから、まずsystemctl start mysqld して落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、この記事をかいたんだ じゃあ、注文を聞こうか。 というわけでmysqlをdisります。disるだけなので内容はありません。いいね? mysql には罠がいっぱい そうなんですよ罠がいっぱいなんですよ奥さん。 いやこれはおそらくmysqlに限った話ではないんですけど例えばこういうの! MySQLのチューニングなんてしたらパフォーマンス落ちるだけだし、デフォル
第32回 PostgreSQL 勉強会(2015年10月10日)で登壇してきました。 内容は前に書いたエントリーの MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと MySQL使いの人がPostgreSQLを始めるときの罠をまとめてみた を元に発表してきました。 と言っても今回は参加者がPostgresSQLに詳しい前提だったのでMySQLを中心に話をしました。 実際の資料は下記のとおりです。 当日はビデオ撮影があったのでそのうち動画が上がると思います。 第32回 PostgreSQL 勉強会まとめ ~ togetter ~ 流石に2時間は疲れました。 内容としては眠くならないように面白おかしく伝えようと思ったのですがなかなか難しかったです。 前半はMySQLとPostgreSQLの方向性の違いをメインにしました。 後半はMySQLは僕が実際にハマった事などをメイ
例えば、こんな販売実績テーブルがあるとします。 create table sales (sales_date datetime,item_count int) 販売した日時と、販売個数を管理しています。 適当にデータを導入。 insert into sales(sales_date, item_count) values ('2015-04-01 10:00:00',2), ('2015-04-01 12:00:00',1), ('2015-04-01 15:00:00',2), ('2015-04-02 10:00:00',1), ('2015-04-02 12:00:00',1), ('2015-04-04 15:00:00',1), ('2015-04-06 10:00:00',3) +---------------------+------------+ | sales_date
mac yosemite にてmysqlをインストールしたところ、 メモリをバカ食い(500M)している 制限を設定する方法は下記の通り。 fujita$ mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 左から順に設定ファイルを読んでいるので、すでにファイルがあれば追記 なければファイルを作ろう。 インストールしてあれば、デフォの設定ファイルがあるはずなのでまずはそれを 見つけてくる。 fujita$ sudo find /usr/ -name "my-default*" それをコピーして /etc/my.cnf を作る。 /etc/my.cnfに下記を追記する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く