MySQL Group ReplicationとMySQL Router2.1
MySQL Router2.1βがリリースされていたので、念の為にMySQL Group Replicationとの連携を確認しました。まだ、βなので機能が全部追加されている訳ではないので、今後のGAに期待したいと思います。 1: Group Replication基本設定と動作 2: MySQL Router2.1βの基本動作確認 3: Single...
View ArticleMySQLのレプリケーション手法の違い
このブログ記事では、MySQL(および Percona Server)環境におけるレプリケーション手法に関して改めて考察を行いたいと思います。あわせて、時折見受けられるレプリケーションの間違った考え方についても考えてみます。...
View ArticleOSC 2017 Tokyo/Spring でMySQL 8.0を雑に予測してきた
ネタ的には YAPC::Hokkaido 2016 Sapporo の時のリライト(8.0.1のリリースノートの情報を追加した感じ)で、相変わらずいくつかの側面に分けてMySQL 8.0に期待していることやこうなるんじゃないかな感を発表しました。MySQL 8.0.1のリリースノート...
View Articlemysqlbackupを利用したObject Storageへのバックアップ
バックアップをリモートのPublic Cloud上のオブジェクトストレージに直接送り、DR, BCP対策を行う事が可能ですが、mysqlbackupにもオブジェクトストレージに直接バックアップを送るオプションがあるので、OracleのPublic Cloudを利用して動作確認しました。 ※ 2017年3月現在、MySQL...
View Articlesql_select_limitを設定したらXtraBackupがsignal 11で転けた
TL;DR SET GLOBAL sql_select_limit = ? で結果セットのサイズを制限していると、xtrabackupが内部的に発行している SHOW ステートメントの出力結果が切り詰められてクラッシュすることがある。 xtrabackupで遊んでいたら、ある時からおもむろにsignal 11で落ちるようになった。それ以前はフツーにバックアップ取れてたのに。 $...
View ArticlePSMによるMySQL Cloudインスタンスの作成
Oracle Cloud MySQL Serviceでは、GUIベースのダッシュボードだけでは無く、APIやPaaS Service Manager (PSM)コマンドライン・インタフェース(CLI)を利用してインスタンスを管理する事が可能です。GUIでの管理も使いやすくて良いのですが、Provisioningの自動化による工数削減にはAPIかCLIの活用が必用になるかと思います。...
View ArticleMyNA 会 201703 で MySQL のDB利用者向けベストプラクティスの話してきた
MySQL のプロダクトマネジャーである Matt Lord さんをお招きして 日本MySQLユーザ会会 を開催しました。 当日はベストプラクティス・・・というかDBAからのお願いを発表してきました。DB利用者に意識してほしいことを中心に取り上げてみました。 My MySQL Best Practices from Satoshi Mitani Matt さんからはGroup Replication...
View Article[書評&勝手に補足] SQLポケットリファレンス(改訂第4版) (1)
[改訂第4版]SQLポケットリファレンス [改訂第4版]SQLポケットリフ...の他のレビューをみる» 評価: 朝井 淳技術評論社 ¥ 2,138 (2017-02-18)コメント:細部は甘いが、手元に置いて便利。ですが「脇の甘さ」が広がった分☆ひとつ減 7年ぶりの改訂ということで期待して購入しましたが、以下のレビューのように少しがっかりしました。★★★☆☆...
View Article[勝手に補足] SQLポケットリファレンス(改訂第4版) (2)
昨日の続きです。なんとか最後までざっくり10時間くらいで読みきりたい。。。。 12. OFFSET FETCH × DB2では、OFFSETおよび、FIRSTの指定を行うことができません。 ○ DB2では、OFFSETおよび、NEXTの指定を行うことができません。...
View Articlemysqlディレクトリーに知らない.ibdファイルがある in MySQL 8.0.0
InnoDBログをcatしたら見知らぬibdファイルの名前が書いてあることに気が付いた。 mysql/character_sets.ibd なるファイルに書き込みをしているようだが、 mysql80> SHOW TABLES FROM mysql LIKE '%char%';Empty set (0.00 sec) そんなテーブルは存在しない。 $ ll...
View ArticleMySQL 8.0.1でutf8mb4_ja_0900_as_csが導入された
Sushi = Beer ?! An introduction of UTF8 support in MySQL 8.0 | MySQL Server Blog (ユーザーによる日本語訳: 寿司=ビール問題 : MySQL 8.0でのUTF8サポート入門 (MySQL Server Blogより) | Yakst)で言及されていた日本語用の照合順序 utf8mb4_ja_0900_as_cs 。...
View ArticleMySQL 8.0.1の新顔、GROUPING集約関数
TL;DR WITH ROLLUPの結果行をHAVING条件に書けるようすることができる。 それ以外の時には使わない。 MySQL :: MySQL 8.0 Reference Manual :: 13.20 Miscellaneous Functions 使い方。 そもそも WITH ROLLUP の使い方を知らないと楽しくもなんともないので WITH ROLLUP の説明から。 まずは...
View Articlextrabackupが実行中かどうかをSQLだけで確認する思考実験
はじまりは 畜生ペンギン@keny_lala のひとこと。 xtrabackupが今稼働中だよーってことがOSコマンドじゃなくてMySQLから分かる方法ありませんか?— kentarokitagawa (@keny_lala) 2017年4月13日 Percona Serverには LOCK TABLES FOR BACKUP とかあったよなと思いつつ、たぶんPercona...
View ArticleMySQL8.0 Descending Indexのサポート
MySQL8.0から、Descending Indexがサポートされる。 これによりMySQL5.7と比較して、大きなテーブルでの降順(DESC)のデータ参照処理を、高速に実行する事が出来るようになる。小さいテーブルに関しては、既存のMySQL5.7でもインデックスが利用出来るので、それ程差は出ないかと思います。 MySQL8.0.1で、Sakila...
View ArticleMySQL 8.0.1からJOIN_ORDERヒントが書ける
こんな、ORDER BY狙いのキーを使いたくなるクエリーがあるじゃろ? mysql80> EXPLAIN SELECT Name, Language, Population, Percentage FROM CountryLanguage LEFT JOIN Country ON Country.Code= CountryLanguage.CountryCode WHERE...
View ArticleSandboxモードを利用したInnoDB Clusterの検証
MySQLで高可用性構成を実現する為の、新しいフレームワーク “InnoDB Cluster”がGAになりました。http://mysqlserverteam.com/mysql-innodb-cluster-ga/ 複数サーバーを用意して検証する事も出来ますが、手取り早く手元のlocalhost環境で検証したい場合はSandboxモードを利用すると良いでしょう。 詳細: Deploying...
View ArticleMySQL 5.7.17からエラーログに出るようになった deprecated partition engine に関するNote
こんなやつのこと。 2017-04-18T23:54:08.224673+09:00 0 [Note] /usr/mysql/5.7.18/bin/mysqld: ready for connections.Version: '5.7.18-log' socket: '/usr/mysql/5.7.18/data/mysql.sock' port: 64057 Source...
View ArticleMySQL8.0とパーティションストレージエンジン
MySQL8.0からのパーティションについての確認 MySQL5.7からは、InnoDB Native Partitioningがサポートされるようになり、多くパーティションを利用している環境で、メモリーの利用率を大幅に下げる事が出来るようになっている。 MySQL8.0からは、Partition Storage...
View ArticleMySQLのDATETIME型で秒の小数部を扱うときのDEFAULT句
この CREATE TABLE ステートメントは転ける。 mysql57> CREATE TABLE t1 (num INT UNSIGNED NOT NULL, dt DATETIME(3) DEFAULT CURRENT_TIMESTAMP);ERROR 1067 (42000): Invalid default value for 'dt' CURRENT_TIMESTAMP関数 が...
View Article