タグ

mysqlに関するhibiki_koyoのブックマーク (17)

  • WordPressでmysql.sock(MySQLソケット)のパス設定

    ローカルマシンに立てた Apache で WordPress を動作させようとしたところ、以下のエラーメッセージがブラウザに表示されて、MySQL への接続が上手くいかないエラーが発生しました。 ( ! ) Warning: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in /path/to/wp-includes/wp-db.php on line 1138

    WordPressでmysql.sock(MySQLソケット)のパス設定
    hibiki_koyo
    hibiki_koyo 2015/10/19
    エラーメッセージにtrying to connect viaがなかったのにこのエラーだった><
  • 紀子さん@へぼぷろぐらまの日常 | mysql の KEYについてまとめてみるよ PRIMARY KEYの巻(1)

    CREATE TABLE 構文 このあたりを読めばちゃんと書いてあるけどね。 PRIMAY KEY を指定したい場合 ・カラム定義に書く CREATE TABLE keytest01( id int not null PRIMARY KEY ); mysql> desc keytest01; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | +-------+---------+------+-----+---------+-------+ おそらく一番一般的な書き方です

    hibiki_koyo
    hibiki_koyo 2015/10/07
    primary_key/unique_key/indexの違い
  • 高速処理化!MySQLのパーティショニング機能を使ってみよう | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    みなさん、最近人生のパーティショニングしてますか? こんにちは、勝利です。 今回はMySQLのパーティショニングについて紹介させていただきます。 MySQLのパーティショニングとは? MySQL5.1ぐらいから使えるようになった、1つのテーブルを分割する機能。 テーブルを分割するので、格納できる根的な容量の拡張や、やり方(Plunning)によっては高速処理を実現できます。 分割した際のデータ振り分け方法としては大体以下のような形があります。 RANGE ・・・ パーティションごとに範囲を指定して振り分ける LIST ・・・ パーティションごとに格納する値で振り分ける HASH ・・・ 1つのカラムの値を式の結果で振り分ける KEY ・・・ 1つ以上のカラムの値をMD5関数等で評価して分割する 使用するメリットとしては下記2点のようなことが考えられます。 メリット1 [高速化が見込める]

    高速処理化!MySQLのパーティショニング機能を使ってみよう | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • ちょっと変えるだけでMySQLの検索結果が格段に見やすくなる方法 | アイビースター

    私がデータベースソフトのMySQLを使用する時はほとんどがWeb用のデータベースとして使用します。その為、データベースを操作(SELECT、INSERTなど)する時はphpMyAdminにお世話になり、コマンドラインで使用することはほとんどありません。 そんなコマンドラインの操作をたまに使用する時があるのですが、SELECT文でテーブル情報を取得すると、時々、カラム数が多くなって表示がグチャグチャで何が何だかわからなくなってしまう時がありますが、この表示方法をほんの少しSQLを変更するだけで驚くほど見やすい結果が表示される方法がありましたので下記に紹介します。 通常、コマンドラインでSELECT文を書くと下記のような結果が表示されます。 「-」と「|」「+」を組み合わせたテーブルが表示されるのですが、横幅が一杯になってしまうと改行されて非常に見にくい状態になります。 しかし、この問い合わせ

  • MySQLのクエリ集計手法いろいろ | Ore no homepage

    Webサービスを開発/運用してるモンとしては、いろんなWebサービスを触ってみなきゃアカンってことで、アメリカの若モンに大人気ってふれこみのsnapchatに登録してみた。これでリア充の仲間入りやと思ったが、snapchat友達が同僚二人しかいないうえに、利用シーンがあまり思い浮かばないww オジサン困っちゃいました。画像とか送信できるんだけど、数秒で消えるの。むしろそこがウリっていうね。どうやって遊ぼうか…。 2月はブログ書かなかったなーと思ったのでMySQL小ネタ。世間的にも自分的にも真新しくもなんともないTipsです。 innotopで集計 実は以前、Qiitaに書いたので↓をば。。。 http://qiita.com/la_luna_azul/items/505ca441b8c8e6a87aaa 流れるクエリ、ロックの状況、トランザクション(show engine innodb s

    MySQLのクエリ集計手法いろいろ | Ore no homepage
  • [MySQL] GROUP_CONCAT 関数の結果をカラム別にして表示する - ナクナイ

    ある案件で、mysql の 便利関数 GROUP_CONCAT でまとめた複数レコードの情報を、カラム別にして表示したいことがありました。 GROUP_CONCAT 自体にそのような機能はありませんが、ちょっと工夫をすることで結果として出力したい結果を得ることができました。 こんな感じのテーブルが 2 つあるとします。 mysql> desc creep; +-------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigne

    [MySQL] GROUP_CONCAT 関数の結果をカラム別にして表示する - ナクナイ
    hibiki_koyo
    hibiki_koyo 2015/07/31
    [MySQL] GROUP_CONCAT 関数の結果をカラム別にして表示する - ナクナイ http://t.co/PfMTZTk86X
  • MySQLバイナリログの仕様 – OpenGroove

    MySQLのバイナリログについて、うっすらまとめてみようかと。 RDBMSで更新ログまたはトランザクションログと呼ばれているログの機能は、 MySQLでは「バイナリログ」が担っている。 これらの内容は、「CREATE TABLE文やINSERT文といったデータベースの中身を 変更する操作を行った際の操作履歴を追跡できる形で記録した情報」であり、 コミットされたトランザクションの情報が保存される。 トランザクションログの中身はRDBMSによって異なり、「論理ロギング」と 「物理ロギング」がある。「論理ロギング」はSQL文レベルで変更履歴を管理し、 「物理ロギング」は変更があったデータブロックをバイナリイメージとして管理する。 MySQLのバイナリログは論理ロギングだが、OracleのREDOログやInnoDBログは 物理ロギングである。 バイナリログはデフォルトでは作成されないので、my.c

    hibiki_koyo
    hibiki_koyo 2015/07/27
    introduction for me
  • MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編

    先日の『これだけは覚えておきたい!!MySQL の6つの自動変換』 http://d.hatena.ne.jp/sakaik/20100225/mysqlautochange にはたくさんの反響をいただいた。 時にこちらの意図と違っちゃうこともあるけれどもケナゲに気を使ってくれる MySQL が、これほどに皆さんにも愛されていることが判り、MySQLファンの一人として嬉しい限りである。 さて、そのエントリの最後に、 なお、「SQLモード」を指定するとこれらの動作を変更することができる。SQLモードについては気が向いたらいつか紹介してみたい。 と書いたところ、速攻でキムラデービーの木村明治氏が補足エントリーを書いてくださった。 ○キムラデービーブログ [勝手に補足]これだけは覚えておきたい!!MySQL の6つの自動変換 http://blog.kimuradb.com/?eid=83851

    MySQLの自動変換を丁重にお断りするためのたった1種類の呪文 - sakaikの日々雑感~(T)編
  • MySQL ユーザのホストをワイルドカードで指定してもlocalhostは含まれない

    MySQL ユーザのホストをワイルドカードで指定してもlocalhostは含まれない 2012-02-04 MySQLをインストールしたので、とりあえずワイルドカードでホスト名を指定してテスト用のユーザを作成。 mysql> show databases; +-------+ | Database | +-------+ | information_schema | | hoge | | mysql | | performance_schema | | test | +-------+ 5 rows in set (0.00 sec) mysql> grant select on hoge.* to testuser@'%' identified by 'password'; Query OK, 0 rows affected (0.07 sec) mysql> select host,u

    hibiki_koyo
    hibiki_koyo 2015/01/15
    localhost用のユーザーと外部接続用ユーザーは別に作成されます。
  • 【DB概論】正規化の手順

    正規化とは、データを一元管理するための理論です。 1データ1箇所の原則を実現するために、1970年にE.F.Codd氏がリレーショナルモデルの理論として提案しました。正規化の理論は、データの冗長性を排除し、更新時の整合性を維持しやすくすることを目指しています。 具体的には、属性間の関連性を分析し、属性の最適なグループ化を図ることを目的としています。 一般には第3正規化まで行えば十分といわれていますが、来は、あてはまる場合にはきちんと第5正規化まで行う必要があります。 まず、正規化の処理をする際によく出てくる関数従属という用語の意味を復習しておきましょう。 ◎ 関数従属とは ある属性Aの値が決まると他の属性Bの値が一意に決まるとき、「属性Bは、属性Aに関数従属である」(A→B)といいます。 完全従属とは、2の属性A、Bの間でA→Bが成立し、Aが複数の属性の集合で成り立っている場合、Aのいか

    【DB概論】正規化の手順
  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
  • MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ

    仕事MySQLのパフォーマンスチューニングをしていて、インデックスについて分かっていないことが多かったので調べたことをメモ。基的なところから学習しなおした。 MySQLのインデックスは、カラムが特定の値をもつレコードの迅速な検索に使用される。インデックスを使用すれば、数百とか数億ものレコードが入っているテーブルから、一組のレコードを迅速に見つけて取り出すことが可能になる。 しかし、インデックスは速度を改善することもあるが、挿入の邪魔になって遅くなることもある。 インデックスを適切に使うために、まずはインデックスの基概念をおさえる必要がある。 インデックスの概念 インデックスとは インデックスの仕組みを理解するには、まずMySQLがどのようにクエリに応答するかを知る必要がある。 例えば、 SELECT * FROM phone_book WHERE last_name = 'Hoge'

    MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ
  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • Install Apache, MySQL, PHP & phpMyAdmin on macOS Big Sur 11

    Install Apache, MySQL, PHP & phpMyAdmin on macOS Big Sur 11
  • MySQLデータベースにテーブルが存在するか確認する

    データベースに指定した名前でテーブルが既に存在するかどうかを 確認することができます。 LIKE検索なので、テーブル名にはワイルドカード(%)を使用することができます。 ここでは例としてPHPを使って確認します。 実行しているのは単純なSQL文ですので、他の言語でも同様にできると思います。 $con = mysql_connect("localhost", "mysql_user", "mysql_password"); mysql_select_db("database", $con); $sql = "SHOW TABLES FROM [DATABASE_NAME] LIKE '[TABLE_NAME]'"; $rst = mysql_query($sql, $con); DBは既に接続されているので以下でも可 $sql = "SHOW TABLES LIKE '[TABLE_NAME

    MySQLデータベースにテーブルが存在するか確認する
  • [Q&A]MySQL開発でやってしまいがちな致命的ミス | Yakst

    Percona MySQL Webinarsの発表(MYSQL開発でやってしまいがちな致命的なミスについて)のQAをご紹介します。 発表はSQLアンチパターン著者のBill Karwinさんの発表です。 オリジナル: http://www.percona.com/resources/mysql-webinars/how-avoid-even-more-common-deadly-mysql-development-mistakes July 17, 2014 by Bill Karwin 水曜日に「MySQLを開発する上でよく起こる(そして致命的な)ミスをどのように回避するか」をPercona MySQL webinarsで発表した。お見逃の際は、ビデオとスライドを見る為に登録すればまだご覧にいただける。 参加いただいた皆様、そしてとりわけすばらしい質問をしていただきありがたく思っている

    [Q&A]MySQL開発でやってしまいがちな致命的ミス | Yakst
    hibiki_koyo
    hibiki_koyo 2014/08/11
    パフォーマンスなんて意識出来るレベルじゃないですがwktk
  • PHP+MySQLでトランザクション

    ということで今回はPHP+MySQLでトランザクションです。 トランザクションとは金融のシステムに必要不可欠な処理です。 トランザクションって何?って方はここをご覧になって その重要性を知っていただきたい ではソースです。 <? if ( !extension_loaded( "mysql" ) ) { dl( "php_mysql.dll" ); } //接続用文字列 $Server = "サーバ名"; $DbName = "データベース名"; $User = "ユーザ名"; $Password = "パスワード"; //接続 $Connect = @mysql_connect( $Server, $User, $Password ); if( !$Connect ){ print "接続できませんでした"; exit(); } //DBの選択 mysql_select_db( $DbN

    PHP+MySQLでトランザクション
  • 1