25 件中 1 - 10 件を表示
次の 10 件 »
Displaying posts with tag: 8.0 (reset)
MySQL 8.0.2以降ではundoテーブルスペースファイルを勝手に拡張してくれるみたい

MySQL 5.7で InnoDB UNDO Log Truncation が追加されたものの、 innodb_undo_tablespacesmysqld --initialize の時に既に指定されていないといけなくて、一度ibdata1が初期化されてしまうと二度と変更できないという制約がありました。 こんなログが出て起動に失敗したりとか失敗したりとか失敗したりとか

2017-07-19T16:00:43.739980+09:00 0 [ERROR] InnoDB: Expected to open 2 undo tablespaces but was able to find only 0 undo tablespaces. Set the innodb_undo_tablespaces parameter to the correct value and retry. Suggested value is 0

ところで、 MySQL …

[さらに読む]
MySQL 8.0.1でバイナリーログに original_commit_timestamp と immediate_commit_timestamp が追加された

See also New monitoring replication features and more! | MySQL High Availability original_committed_timestampはマスターで実行された時のタイムスタンプが、immediate_commit_timestampはそのサーバーで実際に実行された時のタイムスタンプがそれぞれ入る。 単位はいずれもマイクロ秒。 マスターで実行した CREATE DATABASE d1 のバイナリーログ。

$ /usr/mysql/8.0.1/bin/mysqlbinlog master/data/mysql-bin.000002
..
#170428 17:54:25 server id 1 end_log_pos 226 CRC32 0xe0efd740 GTID last_committed=0 sequence_number=1 original_committed_timestamp=1493369665593157 immediate_commit_timestamp=1493369665593157
# original_commit_timestamp=1493369665593157 (2017-04-28 17:54:25.593157 JST)
# immediate_commit_timestamp=1493369665593157 …
[さらに読む]
MySQL 8.0のDROP TABLEがアトミックになっているっぽい件

MySQL 5.7とそれ以前で、「存在するテーブルと存在しないテーブルを一緒にDROP TABLE」しようとすると

mysql57> CREATE TABLE t1 (num int);
Query OK, 0 rows affected (0.01 sec)

mysql57> CREATE TABLE t3 (num int);
Query OK, 0 rows affected (0.01 sec)

mysql57> SHOW TABLES;
+--------------+
| Tables_in_d1 |
+--------------+
| t1 |
| t3 |
+--------------+
2 rows in set (0.00 sec)

mysql57> DROP TABLE t1, t2, t3;
ERROR 1051 (42S02): Unknown table 'd1.t2'

mysql57> SHOW TABLES;
Empty set (0.00 sec)

エラーにはなるけど消せるものは消える。 MySQL 8.0だと

mysql80> CREATE TABLE t1 (num int);
Query OK, 0 rows affected (0.01 sec)

mysql80> CREATE TABLE t3 (num int);
Query OK, 0 rows affected (0.01 sec)

mysql80> SHOW …
[さらに読む]
MySQL8.0とパーティションストレージエンジン

MySQL8.0からのパーティションについての確認
MySQL5.7からは、InnoDB Native Partitioningがサポートされるようになり、多くパーティションを利用している環境で、メモリーの利用率を大幅に下げる事が出来るようになっている。
MySQL8.0からは、Partition Storage Engineがディフォルトでロードされなくなるので注意を促す為に、MySQL5.7.17から”–disable-partition-engine-check”を設定して下さいというWarningがエラーログに出るようになっています。

yoku0825さんが速攻で確認して、ブログを書かれているので確認してみて下さい。

【InnoDB Native Partitioningに関して】

[さらに読む]
MySQL 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 distribution
2017-04-18T23:54:08.224691+09:00 0 [Note] Executing 'SELECT * FROM INFORMATION_SCHEMA.TABLES;' to get a list of tables using the deprecated partition engine. You may use the startup option '--disable-partition-engine-check' to skip this check.
2017-04-18T23:54:08.224696+09:00 0 [Note] Beginning of list of non-natively partitioned tables
2017-04-18T23:54:08.316219+09:00 0 [Note] End of list of non-natively partitioned tables

MySQL 8.0.0 で完全になくなることが決まった(というか8.0.0の時点でもうない) PARTITIONストレージエンジン

[さらに読む]
MySQL 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 Country.continent = 'Asia' ORDER BY Percentage LIMIT 5;
+----+-------------+-----------------+------------+------+------------------------------+---------+---------+--------------------+------+----------+----------------------------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-----------------+------------+------+------------------------------+---------+---------+--------------------+------+----------+----------------------------------------------+
| 1 | SIMPLE | Country | NULL | ALL | …
[さらに読む]
MySQL 8.0.1の新顔、GROUPING集約関数

TL;DR WITH ROLLUPの結果行をHAVING条件に書けるようすることができる。 それ以外の時には使わない。 MySQL :: MySQL 8.0 Reference Manual :: 13.20 Miscellaneous Functions 使い方。 そもそも WITH ROLLUP の使い方を知らないと楽しくもなんともないので WITH ROLLUP の説明から。 まずは WITH ROLLUP なしバージョン(SUM関数を噛ませてるのはあとで WITH ROLLUP した時のため)

mysql80> SELECT Continent, Name, SUM(Population) AS Population FROM country GROUP BY Continent, Name;
+---------------+----------------------------------------------+------------+
| Continent | Name …
[さらに読む]
MySQL 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_csMySQL 8.0.1 で実装されていたので試してみた。

mysql80> SHOW COLLATION LIKE 'utf8%ja%';
+-----------------------+---------+-----+---------+----------+---------+
| Collation | Charset | Id | Default | Compiled | Sortlen |
+-----------------------+---------+-----+---------+----------+---------+
| utf8mb4_ja_0900_as_cs | …
[さらに読む]
mysqlディレクトリーに知らない.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 data/mysql/character_sets.ibd
-rw-r----- 1 yoku0825 yoku0825 163840 Apr 3 14:44 data/mysql/character_sets.ibd

ファイルは確かにある。 なんだこれ…? と思ってたら、なんか他にもいっぱいあった。

$ diff -y <(./use -sse "SHOW TABLES FROM mysql" | sort) <(ls data/mysql/*.ibd | perl -nle 's/.+\///; s/\.ibd//; print' | sort)
> catalogs
> character_sets
[さらに読む]
OSC 2017 Tokyo/Spring でMySQL 8.0を雑に予測してきた

ネタ的には YAPC::Hokkaido 2016 Sapporo の時のリライト(8.0.1のリリースノートの情報を追加した感じ)で、相変わらずいくつかの側面に分けてMySQL 8.0に期待していることやこうなるんじゃないかな感を発表しました。

MySQL 8.0.1のリリースノート が結構量が増えていて、時間も前回の20分に対して45分と倍増していたんですが、時間ギリギリまで結構色々しゃべりました。



MySQL 5.7の次のMySQL 8.0はどんなものになるだろう from

[さらに読む]
25 件中 1 - 10 件を表示
次の 10 件 »