CLOVER🍀

That was when it all began.

MySQL

MySQL 8.0のCharset utf8mb4での日本語環境で使うCollationで文字比較をしてみる

これは、なにをしたくて書いたもの? MySQL 8.0のCharset utf8mb4で使えるCollationについて、ちょっと見ておこうかなと思いまして。 具体的には、「MySQL徹底入門 第4版」の「11.2 Collation」に書かれている文字比較およびソートについて自分で 確認してみ…

MySQL Server 8.0の設定を、set persist(またはset persist_only)で変更する

これは、なにをしたくて書いたもの? MySQLでは、(可能なものについては)設定をsetで動的に変更することができます。 MySQL :: MySQL 8.0 リファレンスマニュアル :: 5.1.9 システム変数の使用 MySQL :: MySQL 8.0 リファレンスマニュアル :: 5.1.4 サーバ…

MySQL 8.0で、InnoDBのテーブルサイズを見たい

これは、なにをしたくて書いたもの? MySQLで、InnoDBのテーブルサイズを見たい、と思いまして。 その方法を調べてみようかなと。いくつかあるようです。 環境 今回の環境は、こちら。 mysql> select version(); +-----------+ | version() | +-----------+ …

MySQLのサンプルデータとして、Employees Sample Databaseを使う

これは、なにをしたくて書いたもの? MySQLに入れる、ほどほどのデータがないかなぁと思って調べてみたら、MySQL自身にあるじゃないですか。 Employees Sample Database、だそうです。 MySQL :: Employees Sample Database GitHub - datacharmer/test_db: A …

MySQL 8.0に、LOAD DATA、Parallel Table Import Utility(MySQL Shell)、JDBCでCSVロードしてみる

これは、なにをしたくて書いたもの? MySQLにCSVロードをしようとした時に、LOAD DATAを使ったり、ふつうにINSERT文を使ったりといくつか方法が あると思うのですが、どれくらい違うものだろう?ということで試してみることにしました。 お題 CSVファイルを…

MySQL 8.0で、InnoDBの状態を確認する方法を調べる

これは、なにをしたくて書いたもの? MySQLのInnoDBストレージエンジンの状態、情報を見るのには、どうしたらよいのかな?ということで。 情報を調べて、とっかかりとして簡単にまとめておくことにしました。 環境 今回の環境は、こちらです。 mysql> select…

GoでMySQLにアクセスしてみる

これは、なにをしたくて書いたもの? Goを使って、データベースにアクセスするコードを書いてみたいなぁと思いまして。 sqlパッケージ Goでデータベースにアクセスするには、sqlパッケージを使うようです。 sql - The Go Programming Language sqlパッケージ…

QuarkusのReactive MySQL Clientを試す

これは、なにをしたくて書いたもの? Quarkusで、ReactiveなMySQLクライアントを使えるというので、試してみようかなと。 Quakus Reactive SQL Clients Quarkusでデータベースアクセスを行う際にまず挙がってくるのはJPA(Hibernate)かなと思いますが、Reac…

MySQLで、接続が平文なのかSSL/TLSを使っているのかを確認する

これは、なにをしたくて書いたもの? SSL/TLS接続を受け付けられるMySQLサーバーを立てた時に、クライアントの接続が平文なのか、SSL/TLSを使っているのか 確認する方法はないかな?と。 環境 今回の環境は、こちら。 mysql> select version(); +-----------…

MySQL Routerを使用して、InnoDB Clusterを構成する(MySQL Routerの設定主体)

これは、なにをしたくて書いたもの? 以前、MySQL Shellを使用して、InnoDB Clusterのうち、Group Replicationの部分を構成してみました。 MySQL Shellで、InnoDB ClusterのGroup Replication部分を構成してみる - CLOVER 今度は、この構成にMySQL Routerを…

MySQL Shellで、InnoDB ClusterのGroup Replication部分を構成してみる

これは、なにをしたくて書いたもの? MySQLのInnoDB Clusterを試してみようと思ったのですが、その前にMySQL Shellに触れた方が良さそうな気がしまして。 InnoDB Clusterを組む時に、Group ReplicationをMySQL Shellで組む手順になっているみたいなんですよ…

MySQL Server Exporterを使って、Prometheus × Grafanaでモニタリングする

これは、なにをしたくて書いたもの? Prometheus+Grafanaで、メトリクスの取得と可視化をSpring Bootを使ったアプリケーション以外にも試しておきたい MySQLのメトリクスを取得して、表示してみてはどうか というわけで、MySQLで取得できるメトリクスを、Pr…

データベースやCPU、ファイルシステムなどへのベンチマークツール、sysbenchをMySQLで試す

これは、なにをしたくて書いたもの? MySQLに、単純でもいいので簡単に負荷をかけられるツールを探していた sysbenchというものがあるらしい というわけで、sysbenchを使ってMySQLに負荷…というかベンチマークを取ってみる、ということで。 sysbenchとは? …

OKD/Minishift上に、Node.jsとMySQL(Template)を使ったアプリケーションを作る

前回、OKD(OpenShift Origin)上にNode.jsとMySQLのImageを使ったアプリケーションをデプロイしてみました。OKD/Minishift上に、Node.jsとMySQL(Image)を使ったアプリケーションを作る - CLOVER今度は、MySQLをTemplateを使ってデプロイして、Node.jsで…

OKD/Minishift上に、Node.jsとMySQL(Image)を使ったアプリケーションを作る

OKD(旧名OpenShift Origin)上に、データベースを使用したアプリケーションを作ってみようかなと。 ※名称自体はOKDになりましたが、今は検索の都合上、エントリのどこかに"OpenShift"という単語は入れておこうかなぁと…OKD: Renaming of OpenShift Origin w…

Express+SequelizeでMySQLと連携するREST APIを作る

前にExpressを使って、簡単なREST APIを作ってみたので、今度はそこからデータベースにアクセスするコードを書いてみようかなと。この前、Promise-mysqlを使ってMySQLにアクセスするエントリを書いたのですがPromise-mysqlで、Node.jsからMySQLにアクセスす…

Promise-mysqlで、Node.jsからMySQLにアクセスする

Node.jsからMySQLにアクセスする方法を調べようと思ったのですが、最初に見つけたのがこちら。mysqlmysqlこれが、標準的位置づけなライブラリのようですね。※MySQL 8.0で登場している、Connector/Node.jsはいったん置いておきます Connector/Node.jsですが、…

MySQL 8.0でGroup Replicationを構成してみる

MySQLには、5.7.17からGroup Replicationという機能が追加されています。Changes in MySQL 5.7.17 (2016-12-12, General Availability)5.7系のGAリリース後に追加された機能だったはずですが、そのまま試さずに8.0まできてしまったので、ここで1回 触ってみ…

Ubuntu Linux 18.04 LTSに、MySQL 8.0をインストールする

MySQL 8.0がリリースされて少し経ち、ちょっと遅れている感じはしますが、MySQL 8.0をインストールしたいと思います。対象の環境は、Ubuntu Linux 18.04 LTSです。APT Repositoryを追加して、インストールする方法でいきましょう。MySQL :: Download MySQL A…

MySQLでパーティショニングを使用した時の、データの配置状態を確認する

MySQLで、パーティショニングを使った時に、どのパーティションにどれくらいのデータが入っているかを 確認するには、information_schemaにあるpartitionsテーブルを見ればよいみたいです。 ※確認は、MySQL 5.7で行っていますこんなテーブルです。 mysql> DE…

MySQL 5.7でレプリケーションを構成する

MySQL 5.7で、レプリケーション構成を組んでみます。MySQLサーバーは、以下の2つを用意。 MySQL 5.7.17 - Master - 172.17.0.2 MySQL 5.7.17 - Slave - 172.17.0.3 レプリケーションに使用するユーザーは「repl」とします。 Master側の設定 Master側のmy.cnf…

Apache Spark(DataFrame API/Spark SQL)で、MySQLのデータを読み書きする

Apache SparkのDataFrame API、Spark SQLで、通常のJDBCアクセス可能なデータベースに対しても操作ができそうな感じだったので、ちょっと試してみました。詳解 Apache Spark作者: 下田倫大,師岡一成,今井雄太,石川有,田中裕一,小宮篤史,加嵜長門出版社/メー…

MySQL+Connector/Jを使って、大量データのSELECT⇒INSERTした時の挙動を確認する

MySQLとそのJDBCドライバ(Connnector/J)を使った時の困った罠について、こちらによくまとまったエントリがございまして。MySQL Connector/J (JDBC ドライバ)の罠まとめ - ~saiya/hatenablogで、この中でもちょっと気になるもの SELECT 結果は全部メモリに…

WildFlyにMySQL DataSourceを、JDBCドライバをデプロイして作成する

WildFlyにJDBCドライバをデプロイしたうえで、DataSourceを作成したことがなかったのでメモ。今までは、いつもカスタムモジュールとしてインストールしていました。今回の対象は、WildFly 8.2.0.Final、MySQL(JDBCドライバのバージョンは5.1.35)とします。…

Ubuntu 12.04 LTSに、MySQLをAPT Repositoryからインストールする

ずっとdebパッケージでMySQLをインストールしてきたのですが、リポジトリ追加でやれそうだったのでこちらでインストールしなおしてみました。まず、下記のページからAPT Repositoryを追加するためのdebパッケージをダウンロード。Download MySQL APT Reposit…

Ubuntu LinuxにMySQLをインストールする

Apache/PHPに続いて、今度はMySQLをインストールすることにしました。この時点でのMySQLの最新安定版は、5.5.28です。では、まず http://dev.mysql.com/downloads/mysql/ より、Debian Packageをダウンロード。…最初はソースからコンパイルしてみようかと思…