MySQL8.0 RCのDockerイメージがリリースされていたので、今後の検証やデモ用に設定しました。
手軽に検証出来るので、軽く検証するにはお勧めです。
Docker Image: https://github.com/mysql/mysql-docker
[root@DockerHost oracle]# docker pull mysql/mysql-server:8.0 8.0: Pulling from mysql/mysql-server 323fb8f65502: Pull complete b2a15600aac3: Pull complete a1116f4203e9: Pull complete 8be6f234356c: Pull complete a09590e34bdc: Pull complete 554cdb588e9e: Pull complete 851fce189663: Pull complete ca60670c6cb3: Pull complete 98a8195f4fc5: Pull complete ec8c0ade6c51: Pull complete 73919c529833: Pull complete 285b77036a3a: Pull complete 270395aafb1e: Pull complete Digest: sha256:183772d6f5a1decd1eb0252e542d338a5ef8c02fe4cc2cc909b58788f8728c58 Status: Downloaded newer image for mysql/mysql-server:8.0 [root@DockerHost oracle]# [root@DockerHost oracle]# docker run --name mysql83 -v /docker/docker83:/var/lib/mysql -v /docker/option83:/etc/mysql/conf.d -v /docker/init_script:/docker-entrypoint-initdb.d -e MYSQL_ROOT_PASSWORD=mysql -d mysql/mysql-server:8.0 ecd2156cdd36d735b5d01f6d7b89ea24cc7d499cbc59e1014bc42ba92c764365 [root@DockerHost oracle]# [root@DockerHost oracle]# docker exec -it mysql83 mysql --default-character-set=utf8mb4 -uroot -pmysql mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 8.0.3-rc-log MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> select @@version; +--------------+ | @@version | +--------------+ | 8.0.3-rc-log | +--------------+ 1 row in set (0.00 sec) mysql> show variables like '%char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.03 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sakila | | sys | | world | +--------------------+ 7 rows in set (0.00 sec)
メモ:CTEの確認
mysql> WITH RECURSIVE -> emp_ext (id, name, path) AS ( -> SELECT id, name, CAST(id AS CHAR(200)) -> FROM employees WHERE manager_id IS NULL -> UNION ALL -> SELECT s.id, s.name,CONCAT(m.path, ",", s.id) -> FROM emp_ext m JOIN employees s ON m.id=s.manager_id ) -> SELECT * FROM emp_ext ORDER BY path; +------+---------+-----------------+ | id | name | path | +------+---------+-----------------+ | 333 | Yasmina | 333 | | 198 | John | 333,198 | | 29 | Pedro | 333,198,29 | | 4610 | Sarah | 333,198,29,4610 | | 72 | Pierre | 333,198,29,72 | | 692 | Tarek | 333,692 | | 123 | Adil | 333,692,123 | +------+---------+-----------------+ 7 rows in set (0.00 sec) mysql>
メモ:Windows Functionの確認
mysql> select employee,date,sale,SUM(sale) -> OVER (PARTITION BY employee) AS sum FROM sales; +----------+------------+------+------+ | employee | date | sale | sum | +----------+------------+------+------+ | A | 2017-03-01 | 200 | 900 | | A | 2017-04-01 | 300 | 900 | | A | 2017-05-01 | 400 | 900 | | B | 2017-03-01 | 400 | 1200 | | B | 2017-04-01 | 300 | 1200 | | B | 2017-05-01 | 500 | 1200 | | C | 2017-03-01 | 100 | 1000 | | C | 2017-04-01 | 600 | 1000 | | C | 2017-05-01 | 300 | 1000 | +----------+------------+------+------+ 9 rows in set (0.00 sec) mysql>
MySQL8.0には管理者と開発者にとって使い易い機能や関数も増えているので、
色々な場面で活用する事が出来るかと思います。
詳細情報:
http://mysqlserverteam.com/
ブログにはRC1と書いてあったけど、RC2とかもリリース予定なのかな?
Please enjoy it.