タグ

mysqlに関するzuborawkaのブックマーク (23)

  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 11.3.2 CHAR および VARCHAR 型

    CHAR 型と VARCHAR 型は似ていますが、格納および取得方法が異なります。 また、最大長と、末尾のスペースが保持されるかどうかという点でも異なります。 CHAR 型と VARCHAR 型には、格納する最大文字数を表す長さが宣言されています。 たとえば、CHAR(30) には最大 30 文字を格納できます。 CHAR カラムの長さは、テーブルを作成したときに宣言した長さに修正されます。 この長さには、0 から 255 までの任意の値を指定できます。 CHAR 値は格納されると、指定された長さになるように右側がスペースで埋められます。 PAD_CHAR_TO_FULL_LENGTH SQL モードが有効になっていないかぎり、CHAR 値が取り出されるときに、末尾のスペースが削除されます。 VARCHAR カラム内の値は可変長の文字列です。 長さは 0 から 65,535 までの値で指定

    zuborawka
    zuborawka 2019/07/24
    “MySQL のすべての照合順序は、PADSPACE 型のものです。これは、CHAR、VARCHAR、および TEXT 値が、末尾のスペースに関係なく比較されることを意味します。” UNIQUE KEY を張るときに注意
  • MySQLで4バイトのUTF-8文字を扱ってみる - HHeLiBeXの日記 正道編

    JIS X 0213:2004で追加された「叱」の異体字は、Unicodeにおいては「UTF-8で符号化すると4バイトになる」コードが割り当てられている。また、中国語をまともに扱おうと思ったら「UTF-8で4バイト」の文字を扱う必要が出てくる。 そんな文字どもをMySQLデータベースに放り込もうと、UTF-8指定でがんばっていたのだが、ひとつの結論に行き着いたらしい。 MySQLの"UTF-8"にご用心 - yanok.netUTF-8で4バイト」の文字を扱おうと思ったら、MySQL 5.5.3以降を使い、さらに"utf8mb4"を指定せよ、という冗談のような当の話。 まぁグダグダ言っても始まらないので、まずは手元にある環境で試してみるところから。 事前準備 環境として、以下のものを使用する。 OS Windows Vista Business SP2 (x86) PHP v5.3.

    MySQLで4バイトのUTF-8文字を扱ってみる - HHeLiBeXの日記 正道編
  • MySQL 5.7時代のユーザー作成について

    日々の覚書: MySQL 5.7.6でCREATE USERせずにGRANTステートメントを叩くとワーニング で、結局どうすればいいのか全く書いてなかったので書き直し。 * パスワード未設定のユーザーをGRANTで作成できなくなった。 * CREATE USERでユーザー作ってからGRANTする。 mysql57> GRANT ALL ON db.* TO grant_style@localhost; -- ユーザー未作成, パスワード未指定のGRANTが転ける ERROR 1133 (42000): Can't find any matching row in the user table mysql57> CREATE USER create_style@localhost; -- パスワード未指定のCREATE USERは通る Query OK, 0 rows affected (0

    zuborawka
    zuborawka 2016/05/31
    これからは CREATE USER で作成 → GRANT で諸所設定の流れになる。mysql.user は 5.7 でかなり様変わりしてる。結構重要と思われ。
  • MySQL の warnings をすぐに表示させる方法

    MySQL の warnings をすぐに表示させる方法 2007-10-01-1: [MySQL] mysql コマンドを直接たたいているときに、warning と表示されることがあります。 例えば、次のような場合です。 mysql> CREATE TABLE test (id int) TYPE=InnoDB; Query OK, 0 rows affected, 1 warning (0.03 sec) この場合 warning が 1 つ発生しています。どういった warning が発生しているかを確認するには、SHOW WARNINGS をしてみるとわかります。 mysql> SHOW WARNINGS\G *************************** 1. row *************************** Level: Warning Code: 128

    zuborawka
    zuborawka 2016/05/31
    備忘録 SHOW WARNINGS
  • 「Can't connect to local MySQL server through socket」エラーについて

    ■ このような場合に参考にして下さい MySQLのクライアントソフト(mysql,PHP,Perl他)からMySQLサーバーに接続しようとすると 「Can't connect to local MySQL server through socket '/tmp/mysql.sock'」 のようなエラーが出て接続に失敗する。 ■ 対処方法の前に まずはじめに、エラーメッセージは次の意味を持ちます。 「ソケット'/tmp/mysql.sock'を通じてローカルのMySQLサーバーに接続することが出来ません」 ソケットとはプロセスやネットワーク間の通信機構のことで、MySQLではこのソケットを通じて サーバーとクライアントとが接続されます。ソケットというとポート番号を指定して利用する方法が 思い浮かびますが、ここでは/tmp/mysql.sockというファイルが出てきています。 これはUNIXド

    zuborawka
    zuborawka 2016/05/19
    “なんらかの理由でソケットファイルが削除されている”← これだった。でも「何らかの理由」が分からなくて非常に気持ち悪い。。。
  • VagrantでUbuntuサーバを2台立ててMySQLでマスタスレーブ構成にしてみた - きのこる庭

    久々の更新。 土曜日は これまで何となく使っていたVagrantを格的にいじっていたけど、知れば知る程便利だなあ。 Vagrantfileって Gruntfileみたいに何となくいじるのが面倒くさそうな印象があったんだけど、実は全くそんな事がなくて 寧ろちょろっとやれば誰でも簡単にいじれるようになるくらい学習コストが低かった(まだChefと絡めていないので Chefと連携させると若干話が変わってくるかもしれないけど)。 というわけで今回は Vagrantを使ってUbuntuサーバを2台立てて MySQLでレプリケーションを構成してみた話を。 今回に関してはどちらかというとVagrantよりMySQL寄りの話になります。 Vagrantに関しては boxの構造とかVagrantfileの事とか 色々と整理できたので 後日 初心者向けにvagrantの基的な事柄についてまとめます。 Vag

    VagrantでUbuntuサーバを2台立ててMySQLでマスタスレーブ構成にしてみた - きのこる庭
  • データベースアプリケーション開発を炎上させる負のスパイラル

    毎度おなじみ、はてブのホットエントリに「SIをダメにする負のスパイラル」というタイトルのまとめが掲載された。きしだ氏とはかなり視点は違うものの、開発現場の問題点については少し思うところがあるので意見を書いてみようと思う。と言っても、以下の話の内容はデータベースアプリケーションに限定した話であり、またSIerだけに限った話ではないのでその点はご容赦頂きたい。もちろんSIer各位の案件はデータベースは必須なので、エントリで触れる問題点には該当するだろう。 Q.なぜ炎上するのか? A.正しいデータベース設計ができていないから結論から言おう。データベースアプリケーションの開発が炎上するのは正しいデータベース設計ができていないからだ。ここでいう「正しい」とは、論理的に証明できる正しさという意味ではない。「来こうするべき」といった意味で捉えて欲しい。 「炎上」というのは、例えばテストが通らない、バ

    データベースアプリケーション開発を炎上させる負のスパイラル
    zuborawka
    zuborawka 2014/11/07
    “テーブルには正規化できるものと出来ないものがある”“正規化できるテーブルというのは、そこに含まれるデータが「事実の集合」として表現できるものである”
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • uehatsu.info - uehatsu's tech blog | これだけはやっておきたいMySQL 5.5系の設定

    CentOS 6 では、remiレポジトリからMySQL 5.5系がインストールできるようになっています。 MySQLのバージョンは5.1系でも良いのですが、できるなら5.5系を入れたい所。理由はデータベース圧縮やパーティショニングなどが、5.1系に比べ進化し簡単になっている事です。

    uehatsu.info - uehatsu's tech blog | これだけはやっておきたいMySQL 5.5系の設定
  • 公式の yum リポジトリから MySQL をインストール - akishin999の日記

    MySQL yum repositories | MySQL Server Blog http://mysqlserverteam.com/mysql-yum-repositories/ こちらの記事で公式の yum リポジトリが公開されたのを見かけたので早速使ってみました。 OS は CentOS 6.4 x86_64 です。 リポジトリの追加 まずは yum リポジトリを追加します。 以下から環境に合わせた rpm をダウンロード。 MySQL :: Download MySQL Yum Repository http://dev.mysql.com/downloads/repo/ Red Hat/Oracle Enterprise Linux 6 用、Fedora 18 用、Fedora 19 用のリンクがありました。 ここでは直接 yum に URL を指定してインストール。 #

    公式の yum リポジトリから MySQL をインストール - akishin999の日記
  • MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話 - Y-Ken Studio

    photo by byte MySQLといえば、巷ではInnoDBばかり注目され、MyISAMの地下アイドル化がにわかに語られる今日この頃、皆様いかがお過ごしでしょうか。 まあカジュアルにストレージエンジンを変換するだけで済むなら、簡単なのです。 -- legacy_my_tableをInnoDBストレージエンジンに変換する ALTER TABLE legacy_my_table ENGINE=InnoDB; よし終わった!さあランチタイムだ! ・・・と片付けてしてしまうと、悲劇が起こるかもしれません。(>o<;) それでは日、MyISAMからInnoDBへ移行するなら知っておきたい意外な落とし穴とTipsを紹介します。 AUTO INCREMENTの挙動が違う落とし穴 以下に該当するクエリを利用している場合には、注意が必要です。私はハマりました。 INSERT IGNORE INTO

    MySQLでMyISAMからInnoDBに乗り換える際に知らないとハマる、怖い話 - Y-Ken Studio
    zuborawka
    zuborawka 2013/12/06
    とても勉強になります。
  • データベース設計徹底指南

    DBエンジニアのための技術勉強会(第3回)で使用した資料です。主にリレーショナルモデルと正規化について解説しています。リレーショナルモデルの限界について正しく認識してこそ、リレーショナルモデルを理解したと言えると思います。

    データベース設計徹底指南
  • Facebook、Twitter、PayPal、LinkedInのMySQL担当者は、MySQLをどう使い、何を課題だと考えているか~MySQL Connect 2013

    Facebook、Twitter、PayPal、LinkedInのMySQL担当者は、MySQLをどう使い、何を課題だと考えているか~MySQL Connect 2013 Facebook、Twitter、PayPal、LinkedInのMySQL担当エンジニアが集まり、それぞれの社内のMySQL利用状況、課題、これから期待する新機能などを語ったパネルディスカッションが、9月21日から23日までサンフランシスコで開催されたMySQLのイベント「MySQL Connect」の3番目の基調講演として行われました。 世界でもっともヘビーなMySQLユーザーといえる4社は、MySQLについてどのようなことを考えているのか、基調講演の内容をダイジェストで紹介しましょう。 Current MySQL Usage Models and Future Developments ──── まずはそれぞれの所

    Facebook、Twitter、PayPal、LinkedInのMySQL担当者は、MySQLをどう使い、何を課題だと考えているか~MySQL Connect 2013
  • 次バージョンのMySQL 5.7はさらに性能を2倍へ、「オラクルはMySQLを殺そうとしている」は真実ではない~MySQL Connect 2013

    次バージョンのMySQL 5.7はさらに性能を2倍へ、「オラクルはMySQLを殺そうとしている」は真実ではない~MySQL Connect 2013 米オラクルが主催するMySQLのイベント「MySQL Connect」が9月21日から23日まで、サンフランシスコで開催されました。このイベントでは毎回「The State of The Dolphin」(イルカの最新状況、つまりイルカをマスコットキャラクターにしているMySQLの最新情報)と呼ばれる基調講演が恒例になっていて、MySQLの最新情報が解説されています。 今年も行われた「The State of The Dolphin」の内容を、ダイジェストで紹介しましょう。 The State of The Dolphin 米オラクル、Chief Corporate Architect、Edward Screven氏。 最初に言いたいのは、オ

    次バージョンのMySQL 5.7はさらに性能を2倍へ、「オラクルはMySQLを殺そうとしている」は真実ではない~MySQL Connect 2013
  • 【MySQL】5.1から5.5へのアップグレード(rpmで) at softelメモ

    問題 公式サイトから入手したrpmでインストールしたMySQL5.1を5.5にアップデートしたい。 MySQL-serverをアップデートしようとしたらメッセージが表示されてできない。 答え メッセージの言うとおりにアップグレードする。 まず、5.1をインストールしたままで5.5をインストールしようとすると、次のように言われる。 # rpm -U MySQL-server-5.5.9-1.rhel5.i386.rpm ****************************************************************** A MySQL server package (MySQL-server-community-5.1.51-1.rhel5) is installed. Upgrading directly from MySQL 5.1 to MySQL 5.

    【MySQL】5.1から5.5へのアップグレード(rpmで) at softelメモ
  • これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編)|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編) こんにちは、インフラ担当新人の nob です。 サーバー監視ツールで MySQL を監視しているのにデータが多すぎて活用していない。という方はいませんか?その豊富なデータをパフォーマンス・チューニングに活用しない手はありません。今回はサーバー監視ツールのグラフを読み解いた実戦経験を元に、「これだけ見れば大丈夫」というツボをまとめてみました。 これだけ見れば大丈夫! クエリ編 3つのつぼと5つのグラフ (その1)監視ツールが何を見ているのか知る (その2)監視のキモ、グラフ3点セット (Questions, Lock Waits と Transaction Handler) (その3)グラフでチェックする SQL チューニング ( Select Type と Handler) シンプルでお勧め、サーバー監視グラフ化ツール

    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編)|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(システム編)|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(システム編) こんにちは nob です。 前編 これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編) の記事から1年半が経過してしまいました。ちょっと長いお休みでしたが、その間に蓄えた MySQL パフォーマンス監視の実戦経験を(システム編)としてお届けいたします! 今回の(システム編)で紹介するツボは 4 つです。(クエリ編)のツボに加えて、この4つに注目して頂ければ MySQL のパフォーマンス監視もバッチリです。 (ツボ1)Load Average < (1 + (cpu数-1)/3) (ツボ2)Checkpoint Age が水平線になったら要注意 (ツボ3)MyISAM は無いよね監視 (ツボ4)万能選手スローログ なお前編と同様この記事では監視ツールとして Cacti と Percona MySQL

    これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(システム編)|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
    zuborawka
    zuborawka 2013/08/12
    「MySQLが実行できるJOINの種類はNested Look Join(NLJ)の一種類しかない」「indexまたはALLを見かけたらすかさずクエリをチューニングしよう。」知らないことだらけ。。。勉強しよう
  • オトコのソートテクニック2008

    今日は仕事納めだったので、一年の締めくくりとしてMySQLにおけるソートの話でもしようと思う。 インデックスを利用しないクエリで最もよく見かけるもののひとつは、ORDER BYを用いたソート処理だろう。もし、ソート処理においてインデックスを用いることが出来れば、MySQLは結果を抽出してから結果行をソートするのではなく、インデックス順に行を取り出せば良いので高速にソート処理することが可能になる。特に、LIMIT句やWHERE句を用いて行の絞り込みを行う場合は効果が絶大である。しかし、ひとたびインデックスを利用できない状況に直面すると、たちまちテーブルスキャンが発生して性能が劣化してしまう。 例えば、100万行のレコードを格納したt1というテーブルがあるとする。そのテーブルに対して以下のようなクエリを実行した場合を考えよう。 mysql> SELECT col1, col2 ... colx

    オトコのソートテクニック2008
    zuborawka
    zuborawka 2013/08/08
    USE INDEX オプション!
  • Using filesort

    去年ソートに関する記事を書いたが、今日はその続きである。 MySQLでEXPLAIN SELECT...を実行するとExtraフィールドでよく見かける「Using filesort」という文字列。Filesortって一体なんだろう?と思ったことはないだろうか。単刀直入に言ってFilesortの正体はクイックソートである。 クエリにORDER BYが含まれる場合、MySQLはある程度の大きさまでは全てメモリ内でクイックソートを処理する。ある程度の大きさとはsort_buffer_sizeであり、これはセッションごとに変更可能である。ソートに必要なメモリがsort_buffer_sizeより大きくなると、テンポラリファイル(テンポラリテーブルではない)が作成され、メモリとファイルを併用してクイックソートが実行される。 Filesortは全てのソート処理において実行されるわけではない。前回の記事

    Using filesort
    zuborawka
    zuborawka 2013/08/07
    最も大切なことはWHERE句における検索条件とソートする対象のカラムを一つのテーブルに集中させること