タグ

MySQLに関するlarkerのブックマーク (174)

  • JavaでMySQLに接続してデータ操作をする - TASK NOTES

    JavaMySQLを操作する基的な部分について書きました。 JDBCドライバの取得 JavaからMySQLへ接続するにはJDBCドライバが必要です。 MySQL :: Download Connector/J からダウンロードして下さい。ダウンロードしたら解凍して、中のjarファイルを使用します。 $ tar zxvf mysql-connector-java-5.1.35.tar.gz $ ls mysql-connector-java-5.1.35/mysql-connector-java-5.1.35-bin.jar mysql-connector-java-5.1.35/mysql-connector-java-5.1.35-bin.jar Maven リポジトリは以下の通り。 <dependency> <groupId>mysql</groupId> <artifactId>

    JavaでMySQLに接続してデータ操作をする - TASK NOTES
  • MySQLデータベースへの接続

    This tutorial needs a review. You can edit it in GitHub following these contribution guidelines. このドキュメントでは、NetBeans IDEからMySQLデータベースへの接続を設定する方法を紹介します。接続すると、IDEのデータベース・エクスプローラでMySQLを操作できるようになり、新しいデータベースや表を作成したり、表にデータを入力したり、データベースの構造と内容に対してSQL問合せを実行したりすることができます。このチュートリアルは、データベース管理に関する基礎知識があり、NetBeans IDEでのMySQLの操作にその知識を活かすことを考えている初心者向けに作成されています。 MySQLは、その速さ、柔軟性および信頼性により、Webアプリケーションで一般的に利用されているポピュラな

  • MySQL バイナリログの削除 - とみぞーノート

    1. 概要 MySQLでレプリケーションを行っているとMasterにバイナリログが溜っていきディスクを圧迫するので定期的に削除してやる必要がある。 2. 手順 2.1 レプリケーション状態の確認 まず、どこまでバイナリログを削除してよいかを調べる。 Slave側でSHOW SLAVE STATUSを実行し、Slaveがバイナリログをどこまで読み取っているかを調べる。「Master_Log_File」が現在参照中のバイナリログ。以下の例ではskylancer00-bin.000084を使用していることになるので、skylancer00-bin.000083まで削除してしまってよいことになる。Slaveが複数いる場合は、全Slaveについて確認を行う。 mysql> SHOW SLAVE STATUS \G *************************** 1. row ********

  • Perl DBI と UTF8フラグ と 文字化け問題 (2017/05/31追記) - adiary開発日誌

    Perl 5.20にしたら、DBIが何やら不可解な動作をするようになりました。 問題の原因 保存されいてる文字コードがおかしい 解決策 DBD::Pg編 DBD::MySQL 比べると DBIの仕様 DBD::Pgの仕様変更 2017/05/30 まとめ 問題の原因 どうやら UTF8 を扱う機能が増えたみたいです。DBIの接続時のパラメーターにこんなものが増えています。 pg_enable_utf8 => 1 , # 結果をUTF8フラグ付きにする(PostgreSQLmysql_enable_utf8 => 1 , # 結果をUTF8フラグ付きにする(MySQLPerlDBIモジュールで自動的にUTF8フラグを付ける この影響で、PostgreSQL運用のシステムを Perl 5.14 から 5.20 にアップグレードしたところ文字化け発生。また厄介なことをしてくれたものです

    Perl DBI と UTF8フラグ と 文字化け問題 (2017/05/31追記) - adiary開発日誌
  • MySQL 緯度経度から該当するデータを範囲抽出する方法 | QK

    ちょっと話が、前回のストアドプロシージャを使う話と前後してしまいますが・・・ iPhone, Android等のスマートフォンの爆発的な普及によって最近、位置情報を活用したアプリケーションが増えてきました。スマートフォンから出力される位置情報は、緯度、経度の情報だけなので、それに紐づく住所情報も取りたいですよね?(たぶん)、今回、MySQLを利用してGPSデータベースを作成してみました。情報があまりないので手順を含めいろいろと不足な部分もあるかと思いますが、検証ではまあまあ、期待される値がとれていると判断しましたのでw その手順を公開したいと思います。 位置情報の元ネタを探す じゃあ位置情報ってどこにあるの?実は、国土交通省にあったりするんです。しかも無償で自由な目的で利用できたります。知らなかった。 今回の説明では、位置情報データをダウンロードし、MySQLの地理情報テーブルに取り込み、

  • MySQL TIPS 3 空間情報(geometry)を使って経度・緯度の検索を高速化する - イノベートな非日常

    以下のようなピタゴラスの定理を使った指定した経度緯度に最も近いデータを取得するSQLは結構ありがちですが、CPU負荷が高く効率も悪いのでMySQLに標準搭載となった空間情報(geometry)を使ってみることにします。 SELECT * FROM loc ORDER BY power(abs(latitude - 緯度 ), 2) + power(abs(longitude - 緯度 ), 2) LIMIT 1 MySQLの空間情報(geometry)機能はPostGIS(Postgresカスタマイズ)に比べると貧弱なので、その為の工夫を行います。例えばここのとおりのままだと逆にSQLが遅くなります。 まずは、テーブル定義から 通常のテーブル CREATE TABLE IF NOT EXISTS `loc` ( `loc_id` int(11) NOT NULL auto_incremen

    MySQL TIPS 3 空間情報(geometry)を使って経度・緯度の検索を高速化する - イノベートな非日常
  • 第5回 位置情報を保存しよう(前編):位置情報サービスのはじめ方|gihyo.jp … 技術評論社

    今回から2回に分けて、位置情報をDatastoreに格納する方法をいくつか紹介します[1]⁠。 数値型で保存する 緯度経度の情報をデータベースへ格納するときに、もっとも簡単な方法が数値型として保存する方法です。緯度経度がとりうる値の範囲は、以下の通りですので、システムに必要な小数点以下の数字を考慮して型を決めましょう。 はてなフォトライフでは、写真に緯度経度のメタ情報を設定することができますが、高精度な緯度経度情報は必要ないので、型を以下のように指定しています。 latitude decimal(7,4) longitude decimal(7,4) decimal(7,4)という指定は、10進数で7桁のデータで、小数点以下は4桁まで格納するというものです。 あるオブジェクトの緯度経度を保存し、表示するだけならこれだけで十分ですが、位置情報を中心に扱うサービスになると、格納したデータを緯度

    第5回 位置情報を保存しよう(前編):位置情報サービスのはじめ方|gihyo.jp … 技術評論社
  • Webサービスにおける外部APIの使用(その2) - MySQL Spatial Extensionsによる位置情報の検索 - O'Reilly Japan Community Blog

    最近のWebサービスでは、外部APIを活用したものが非常に多くなっています。前回は外部APIのアクセス数制限を回避するためのキャッシュ、及び具体例として位置情報サービスのfoursquare APIの結果をキャッシュする仕組みを設計しました。今回は、MySQLに保存された位置情報データのキャッシュをMySQL Spatial Extensionsを使って検索する方法について説明します。 はじめに Retty株式会社の鹿島です。前回は、最近のWebサービスでよく使われている外部のAPIおよびサービス停止に致命的な影響を与えかねないrate limitについて説明しました。またrate limitの超過を防ぐための「キャッシュ」という方法についても説明しました。 具体例として、位置情報SNSサービスであるfoursquareのAPIを取り上げ、その結果をキャッシュする仕組みの基的な設計を説明

  • mysql空間テーブルの作り方 - Qiita

    注意 mysqlでは、空間テーブルはMyISAMでしか作れません(正確には、InnoDBでもテーブルは作れますがインデックスが張れません。InnoDBで空間インデックスが張れるのは、5.7.4LABリリースからのようです。)。 MyISAMでも問題ない場合は、空間検索速度が速いので空間DB使うべきですが、トランザクションやテーブルロックなどの問題もありますので、InnoDBしか許されない場合は、一次元ハッシュコードを用いる方法を検討してください。 Mysql Reference manual CREATE TABLE IF NOT EXISTS `geo_table` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `geometry` geometry NOT NULL COMMENT 'ジオメトリ', PRIM

    mysql空間テーブルの作り方 - Qiita
  • mysqld.service file for systemd

    mysqld.service p' �+V � ƒ+V [Unit] Description=MySQL Server After=syslog.target After=network.target [Service] Type=simple PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p /var/run/mysqld ExecStartPre=/bin/chown mysql:mysql -R /var/run/mysqld ExecStart=/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/va

    mysqld.service file for systemd
  • CentOS 7.0 mysql systemd化 | Exfield

    IwojIOeSsOWig+WkieaVsOOCkuOBvuOBqOOCgeOBpuWumue+qeOBmeOCi+ODleOCoeOCpOODqwojIEVudk5hbWU9VmFsdWUKIyAgICAgIG9yCiMgRW52TmFtZT0idmFsdWUxIHZhbHVlMiB2YWx1ZTMiCiMg44Go5pu444GL44Gq44GE44Go44GE44GR44Gq44GE44KJ44GX44GE44CC5Y2K6KeS44K544Oa44O844K544Gq44GX44Gn44Gk44Gq44GM44Gj44Gm44GE44KL44KC44Gu44Gq44KJCiMg44Gd44Gu44G+44G+5pu444GE44Gm44KC44GE44GE44GM44CBIiAi44GM5YWl44Gj44Gm44GE44KL44Go44Kv44Kq44O844OI44GZ44KL

    CentOS 7.0 mysql systemd化 | Exfield
  • MySQL 5.6 ソースからCentOS7にインストール

    CentOS 7.1 に、MySQL 5.6.25をソースからインストールします。 ソースの取得 MySQLのソースは以下からダウンロードします。 今回はOSがCentOS 7.1なので、Red Hat Enterprise Linux 7用のrpmを使用します。 ・MySQL Community Downloads ソースの準備 rpmをインストールすると、/root/rpmbuild/SOURCES/にmysql-5.6.25.tar.gzができます。 # rpm -ivh MySQL-5.6.25-1.el7.src.rpm 更新中 / インストール中... 1:MySQL-5.6.25-1.el7 ################################# [100%] # ls -l /root/rpmbuild/SOURCES/ 合計 32428 -rw-r--r--

    larker
    larker 2015/11/20
    起動スクリプトの場所とか
  • MySQL 5.7の新機能完全リスト | Yakst

    MySQL 5.7には150を超える新機能がある。 MySQLのマニュアルはとてもいいものだが、少し長すぎる。これは、新機能の箇条書きリストだ。それぞれの機能について1つずつまとめるように頑張ってある。なので、 InnoDBのネイティブパーティショニング については、InnoDBの項かパーティショニングの項のどちらかにだけ載っている。 MySQL 5.7.8 RC2はここからダウンロードできる それか、yumかaptのリポジトリーからもインストール可能だ。 レプリケーション関連 マルチソースレプリケーション(訳注: 1スレーブに複数マスターを設定可能になった) [ 1 ] オンラインでのGTIDの有効化 [ 1 2 3 ] 準同期レプリケーションの性能向上 [ 1 2 ] ロスレス準同期レプリケーション [ 1 2 ] 準同期レプリケーションでいくつのスレーブからACKが返ってくるまで待つ

    MySQL 5.7の新機能完全リスト | Yakst
    larker
    larker 2015/09/08
    「MySQL 5.7には150を超える新機能がある。」えー、そんなに
  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ

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

    MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ
  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
    larker
    larker 2015/03/23
  • MySQLのAES_ENCRYPT/AES_DECRYPT互換の方式でActiveRecordの属性を透過的に暗号化/復号する - Qiita

    MySQLのAES_ENCRYPT/AES_DECRYPT互換の方式でActiveRecordの属性を透過的に暗号化/復号するRubyMySQLActiveRecord Ruby on Rails (DBMySQL) で開発をしている某案件で 運用の都合上、アプリ外から SQL でデータベースの内容を直接参照できる必要があるので、センシティブなデータは AES_ENCRYPT 関数で暗号化して、アプリ以外からも復号できるようにすること という要件がありました。 単に暗号化すればいいだけなら attr_encrypted gem などを使って透過的に Ruby 側で暗号化/復号すれば楽に実装できますが、いちいち MySQL 側で AES_ENCRYPT/AES_DECRYPT させるとなると、かなり実装が面倒です。 そこで、Ruby 側で MySQL の AES_ENCRYPT/AES_D

    MySQLのAES_ENCRYPT/AES_DECRYPT互換の方式でActiveRecordの属性を透過的に暗号化/復号する - Qiita
  • BIGINT v INT. Is there a big deal?

  • 時代はBIGINT - 浜村拓夫の世界

    MySQLのプライマリーキーで、オートインクリメントの数値を使っているテーブルがある。 頻繁に追加・更新するマスターテーブルで、ものすごい大量の追加が発生したら、INT型では数が足りなくなるんじゃないか?という不安が出てきた。 INT型にすべきか、BIGINT型にすべきか、それが問題だ。 他の人たちはどうしているのかな~?と思い、さっそく検索してみた。 ●INT型の限界 [MySQL]INT型の最大値(IntegerのMAX値2147483647)を覚える方法 - DQNEO起業日記 MySQLのINT型の最小値と最大値は、-2147483648~2147483647です。 http://dev.mysql.com/doc/refman//5.1/ja/numeric-types.html この数字を覚えるコツをお教えしましょう。 「2147483647」は、「21億」と覚えます。 「21

    larker
    larker 2014/08/19
  • 入れ子集合モデルで子供データを取得する際のパフォーマンス - ka-ka_xyzの日記

    RDBで階層構造(平たく言うと行同士の親子関係)を表現するために様々なデータモデルが存在します。最もよく使用されていると思われるのは「隣接リストモデル」(子となる行の中で、親となる行のprimary keyやunique idを持っておくことで親子関係を表現するデータモデル)です。 ただし、このモデルでは「N階層以内の親を取得する」「N階層以内の子を取得する」ことは容易ですが、階層数に依存せず再帰的に「全ての祖先を取得する」「全ての子孫を取得する」ことが苦手です。*1 このような欠点を持たないデータモデルとしてここ数年で注目を集めているモデルとして「入れ子集合モデル」があります。 SQLで木と階層構造のデータを扱う(1)―― 入れ子集合モデル 従来のリレーショナル・データベースで階層データを扱うモデルには、「隣接リストモデル」や「経路列挙モデル」などが知られていますが、これらがデータ構造の

    入れ子集合モデルで子供データを取得する際のパフォーマンス - ka-ka_xyzの日記
    larker
    larker 2014/07/31
    入れ子集合モデルのパフォーマンスについて