タグ

MySQLに関するs_moriのブックマーク (118)

  • MySQL 5.7でrootユーザのパスワードを再設定 - Qiita

    今回は、MySQL5.7でrootユーザのパスワードを忘れてしまったときに再設定を行う手順がこれまでのバージョンといくつか異なる部分があったので備忘録として投稿します。 環境 MySQL : 5.7.11 CentOS : 7.1 1. MySQLにパスワード入力なしでログインできるよう設定 はじめに、パスワード入力なしでMySQLにログインできるようにします。 パスワード入力なしでログインできるように /etc/my.cnf に skip-grant-tables を追加します

    MySQL 5.7でrootユーザのパスワードを再設定 - Qiita
    s_mori
    s_mori 2019/03/18
  • MySQLおよびMariaDBに大きなサイズの行を挿入する | Yakst

    MySQLで大きなサイズのデータを挿入する際の注意点について記載する。max_allowed_packet, innodb_log_file_sizeに注意し、マルチパートアップロードにmysql_stmt_send_log_data関数を使う。 出典について この記事は「Inserting large rows in MySQL and MariaDB」(2015/7/20)を翻訳したものである。 MySQLにおけるLONGBLOBの最大容量は4GBであり、max_allowed_packetの最大値のサイズは1GBである為、私はLONGBLOBを完全に使いきることができるのだろうかと思い立った。 そこでこれをテストし始めた。MySQL Connector/Pythonを使ってPythonスクリプトを書き、MySQL Sandboxを使ってMySQL 5.6.25のインスタンスを作成した

    MySQLおよびMariaDBに大きなサイズの行を挿入する | Yakst
    s_mori
    s_mori 2019/02/28
  • PHPerによるMySQLバージョンアップ 〜PHP7化の次〜 / PHP Conference Fukuoka 2018

    PHPerによるMySQLバージョンアップ 〜PHP7化の次〜 / PHP Conference Fukuoka 2018

    PHPerによるMySQLバージョンアップ 〜PHP7化の次〜 / PHP Conference Fukuoka 2018
    s_mori
    s_mori 2018/06/17
    MHA for MySQL
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.7.2.4 読取りのロック

    データのクエリーを実行してから、同じトランザクション内で関連データを挿入または更新する場合は、通常の SELECT ステートメントで十分な保護が提供されません。 ほかのトランザクションは、クエリーが実行されたばかりの同じ行を更新または削除できます。 InnoDB では、追加の安全性が提供される 2 つのタイプのロック読み取りがサポートされています。 SELECT ... FOR SHARE 読み取られる行に共有モードロックを設定します。 ほかのセッションもその行を読み取ることができますが、トランザクションがコミットするまで変更することはできません。 これらの行のいずれかがコミットされていない別のトランザクションによって変更された場合、クエリーはそのトランザクションが終了するまで待機してから、最新の値を使用します。 SELECT ... FOR SHARE は SELECT ... LOCK

    s_mori
    s_mori 2018/06/04
  • LAST_INSERT_ID()はauto_incrementedでなくてもいいしINSERTじゃなくてもいい - Qiita

    MySQLにLAST_INSERT_ID()という関数があります。auto_incrementedのフィールドがあって、そこにレコードが追加された時に、最後に追加されたidを取得するというものです。 ですが、LAST_INSERT_ID()には引数を渡すことができて、その結果をUPDATEに渡すと、「最後にUPDATEした数値」を取得することができます。 こんな感じ -- 準備 CREATE TABLE sequence (id INT NOT NULL); INSERT INTO sequence VALUES (0); -- 採番 UPDATE sequence SET id=LAST_INSERT_ID(id+1); SELECT LAST_INSERT_ID(); まず、idというフィールドだけのテーブルを作り、1件だけレコードをINSERTしておきます。auto_incremen

    LAST_INSERT_ID()はauto_incrementedでなくてもいいしINSERTじゃなくてもいい - Qiita
    s_mori
    s_mori 2018/06/04
  • https://blogs.oracle.com/mysql/post/announcing-general-availability-of-mysql-80

    s_mori
    s_mori 2018/04/26
  • MySQL 8.0正式版がリリース。性能が最大で2倍、JSONデータや地理情報などサポート。ロールによるユーザー権限の管理も可能に

    MySQL 8.0正式版がリリース。性能が最大で2倍、JSONデータや地理情報などサポート。ロールによるユーザー権限の管理も可能に 前バージョンのバージョン番号は5.7で、バージョンが8.0になったのは、過去のバージョン番号で6が使われたことがあったというMySQL のバージョンの都合や、MySQL Clusterがバージョン7であることなどを考慮したためとされています。 MySQL 8.0では、大幅な性能向上、JSONデータに対応したNoSQL機能の搭載、地理情報の対応、ロールによるユーザー権限など、さまざまな改善が行われています。 性能が最大で2倍に MySQL 8.0では、MySQL 5.7と比較してユーザー数が増えた場合に最大で約2倍ほどの大きな性能向上を実現しています。下記は読み込み性能の比較です。 読み込みだけでなく書き込み性能も向上しており、これはInnoDBでREDOログ

    MySQL 8.0正式版がリリース。性能が最大で2倍、JSONデータや地理情報などサポート。ロールによるユーザー権限の管理も可能に
    s_mori
    s_mori 2018/04/26
  • innodb_file_per_tableが有効な時にディスク容量を開放するには | Yakst

    MySQL Performance Blogの翻訳。innodb_file_per_tableが有効になっている時、データを削除してもデータファイルのサイズは小さくならない。これを小さくする方法とは。 September 25, 2013 By Nilnandan Joshi innodb_file_per_tableがOFFの時には、全てのデータはibdataファイルに保存される。テーブルをドロップしたりデータを消したりしたとき、使用されていないディスク領域を解放するには、ダンプしてからリストアするしかない。 innodb_file_per_tableがONの時には、各テーブルのデータとインデックスはそれぞれの表領域ファイルに保存される。しかし、共有の表領域であるibdata1も容量が増えてしまう。これがなぜ起きて、どうやって解決するかはこちらの記事(日語訳)を見て欲しい。 上に挙げた

    innodb_file_per_tableが有効な時にディスク容量を開放するには | Yakst
    s_mori
    s_mori 2018/01/26
  • MySQL - InnoDB データファイルをテーブル単位に変更!

    mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... MySQL でストレージエンジンに InnoDB を指定していると、データファイル・ログファイルが作成されます。 デフォルトでは、データファイル(ibdata1)はデータベースが複数あっても1つのファイルとして作成されます。 これだと、データベースが複数あったりサイズが膨大になったりすると、パフォーマンスが悪くなるだけでなく管理も煩雑になってしまいます。 設定ファイルに innodb_file_per_table を設定することで、このデータファイルをテーブル単位で管理できるようになります。 ただ、既にデータベースを InnoDB で運用している場合は、今後作成するテーブルに

    MySQL - InnoDB データファイルをテーブル単位に変更!
    s_mori
    s_mori 2017/12/25
  • MySQL - InnoDB データファイル ibdata1 の最適化!

    mk-mode.com Linux, Debian, IT, Server, PG, Ruby, Rails, Python, C++, Fortran, PC, MariaDB, math, GIS, etc... MySQL のストレージエンジン InnoDB は、デフォルトでは ibdata1 というファイルにデータを保存・蓄積しています。 そして、この ibdata1 ファイルは、データ領域が不足すると自動で拡張されるようになっています。(設定により初期サイズと拡張サイズは異なる) ibdata1 ファイルのサイズは、データを削除しても縮小されることはないので、ファイルサイズはメンテナンスしないと日々拡大していきます。 以下、最適化についての記録です。 0. 前提条件 対象の MySQL サーバのバージョンは 5.6.11 (インストールは「こちら」の方法で行なっている) 対象のデ

    MySQL - InnoDB データファイル ibdata1 の最適化!
    s_mori
    s_mori 2017/12/25
  • MySQL ibdataのデータサイズが肥大化した場合の対処方法。 - Qiita

    はじめに MySQLでibdata1のデータサイズが肥大化していた際の対処法。 今回、とある案件でサーバの調査をしていた際にibdata1のサイズがかなり大きくなっているのに気づきました。100GBを余裕で越すほどの。 これはInnoDBのデータ領域(テーブルスペース)です。 こうなると稼働したままデータサイズを小さくするのは難しく、リストアが必要となります。 事前準備 リストア作業を行う前にデータベースを利用するサービスを停止またはメンテ表示にしてトランザクションがmysqlへ来ないようにしておきましょう。 作業 1. mysqldumpの取得 サービスを停止したら対象となるデータベースのdumpを取得します。 だいたいこういう時はデータサイズが大きいので&をつけて実行しておくと便利です。

    MySQL ibdataのデータサイズが肥大化した場合の対処方法。 - Qiita
    s_mori
    s_mori 2017/12/25
  • データのロストは発生するか? | Yakst

    MySQLあるいはMongoDBにおけるコミットの読取り一貫性および受信確認されたコミットの保護についてのブログ記事を紹介する。MongoDBにおけるドキュメントの問題についても言及されている。 出典について この記事はMark Callaghan氏のブログ内の記事、Losing it?(2015/10/11)を翻訳したものです。 何年も前、Google社のMySQLチームのWei Li氏の厚意によって準同期レプリケーションが実装されました。この準同期レプリケーションのユースケースは限られており、コミュニティーはこれが意図した動作をしなかったため失望しました。そのうちに、InnoDBのバイナリログにグループコミットが実装されました。最初はFacebook社のMySQLチームに、そしてMariaDBで改善され、最後にMySQLのアップストリームに取り込まれました。グループコミットによって、い

    データのロストは発生するか? | Yakst
    s_mori
    s_mori 2017/09/26
    MySQLあるいはMongoDBにおけるコミットの読取り一貫性および受信確認されたコミットの保護についてのブログ記事
  • 快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!

    先月、Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジンというエントリでSPIDERストレージエンジンによるスケールアウトが凄い!という話を書いた。SPIDERストレージエンジンは凄いヤツだが、ノウハウがあまりウェブ上で見つからない。唯一見つかる日語の記事は、ウノウラボによる「国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く 」だけである。SPIDERストレージエンジンは斯波氏による単独の作品であるため、斯波氏は開発だけで手いっぱいであり、使い方の紹介記事を書くことまでは手が回らないのであろう。こんな凄いストレージエンジンをドキュメントが足りないせいで使って貰えないなんて勿体ない!! というわけで、今日はSPIDERストレージエンジンの基的な使い方について紹介する。少し長いエントリであるが、最後までお付き

    快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!
  • ストレージエンジン「Spider」が目指す世界

    スパイラルアーム、オランダに事務所開設 小幡さんと斯波さん 小幡:「斯波(しば)」って珍しい名字だよね。 斯波:室町時代の守護大名で管領になれる家系だったそうです。うちは分家で関係ないですけど。 小幡:そう言われれば、しゃべり方が大名っぽい! 斯波:いやいや、しゃべり方は引き継いでいません(笑)。 小幡:この前、オランダ アムステルダムのMariaDBイベントに参加したら、中国で時価総額がアリババを超えたというゲーム会社Tencentのメンバーが熱く発表しているセッションがあったの。それが斯波さんのSpider。Tencentはすごい規模でSpiderを使っている(データは100TB、Spiderは396台、データノードは2800台)。分析基盤で… 斯波:ゲームの基盤です。 小幡:そうだそうだ。なんとかプラットフォームって言ってた。前にSpiderの話を聞いたときはイマイチ頭に入ってこなか

    ストレージエンジン「Spider」が目指す世界
  • Planet MySQL :: Planet MySQL - Archives - The CAP theorem and MySQL Cluster

    s_mori
    s_mori 2017/09/26
    CAP定理
  • MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記

    もしかしたら使うかもしれないので調べてみた。 shard 日語に訳すと(ガラスや貝殻の) 「破片」といったような意味 データベースをshardに分解して複数のサーバに分散して運用するのがDB sharding データベースパーティショニングとも言えるのかしら? 単一のサーバのDBテーブルを複数のファイルに分割するのをパーティショニングとも呼ぶが、「パーティショニング」という言葉を使ってDB shardingのことを言っているブログ等もちらほら見かけます。 より突っ込んでみたい人は「shared nothing」でぐぐってネ。 なぜデータベースを分散処理するのか 横軸にはサービス運用開始からの時間経過を設定し、縦軸には「DBの応答時間」、「DBへの問い合わせ数」、「DBサイズ」の各数量をとります。サービスが順調に利用されていっているものとし、「DBサイズ」や「DBへの問い合わせ数」は時間経

    MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記
  • InnoDBのREPEATABLE READにおけるLocking Readについての注意点

    日は、MySQL Casual Advent Calendar 2013の20日目である。というわけでカジュアルに小ネタを紹介しよう。 MVCC - Multi Version Concurrency Controlご存知の通り、InnoDBはMVCCを実装している。そのため、分離レベルがREPEATABLE READの場合には、行にロックをかけることなく、一貫した読み取りが可能になっている。 もし、あるトランザクションT1開始後に、別のトランザクションT2によって同じ行が書き換えられてしまった場合には、T1はロールバックセグメントにある古いバージョンの値を読み取ることができるので、T1内で実行したSELECTは常にT1開始時点のデータを参照することができるのである。大事なのでもう一度言うが、REPEATABLE READにおける単純なSELECTでは行ロックは必要ない。 Lost Up

    InnoDBのREPEATABLE READにおけるLocking Readについての注意点
  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

    Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
    s_mori
    s_mori 2017/09/20
    spider
  • Spiderストレージエンジンのご紹介

    MariaDB/MySQLでデータベースシャーディングの機能を提供するストレージエンジン、Spiderの紹介です。Read less

    Spiderストレージエンジンのご紹介
  • MySQL Clusterの特徴とアーキテクチャ

    連載では、実際に「MySQL Cluster」を利用するためのチュートリアルとなるように、その特徴と基的なアーキテクチャからインストール、基的な操作などをコマンド付きで解説していきます。第1回の今回は、MySQL Clusterの特徴とアーキテクチャについて紹介します。 MySQL Clusterとは? 「MySQL Cluster」は「MySQL Server」とは開発ツリーの異なる製品で、共有ディスクを使わずにアクティブ−アクティブのクラスタ構成が組めるリレーショナルデータベースです。カラムやインデックス、ノードの追加・削除といった各種メンテナンス処理をオンラインで実行できる、単一障害点がなく可用性が非常に高い、などの特徴があります。そのため、米国海軍の航空母艦における航空機管制システムなど、ミッションクリティカルな分野でも多く利用されています。 また、基的にはデータとインデッ

    MySQL Clusterの特徴とアーキテクチャ