MySQL 8.0がリリースされて少し経ち、ちょっと遅れている感じはしますが、MySQL 8.0をインストールしたいと思います。
対象の環境は、Ubuntu Linux 18.04 LTSです。
APT Repositoryを追加して、インストールする方法でいきましょう。
MySQL :: Download MySQL APT Repository
MySQL :: A Quick Guide to Using the MySQL APT Repository
インストール
ダウンロード。
$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
リポジトリの情報を追加。
$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb 1. MySQL Server & Cluster (Currently selected: mysql-8.0) 2. MySQL Tools & Connectors (Currently selected: Enabled) 3. MySQL Preview Packages (Currently selected: Disabled) 4. Ok Which MySQL product do you wish to configure? 4
パッケージアップデート。
$ sudo apt-get update
MySQLインストール。
$ sudo apt-get install mysql-server
途中、認証系のプラグインについて聞かれたりします。
After installation, the default can be changed by setting the default_authentication_plugin server setting. 1. Use Strong Password Encryption (RECOMMENDED) 2. Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) Select default authentication plugin 1
起動。
$ sudo service mysql start
停止。
$ sudo service mysql stop
とありますが、止まらない…。
設定
設定は、こんな感じに。
/etc/mysql/mysql.cnf
!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysql] default-character-set = utf8mb4 # safe_updates show_warnings
/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld_safe] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp log-error = /var/log/mysql/error.log port = 3306 bind-address = 0.0.0.0 character-set-server = utf8mb4 collation_server = utf8mb4_ja_0900_as_cs_ks transaction-isolation = READ-COMMITTED ## gtid gtid_mode = on enforce_gtid_consistency = on ## binary log log-bin = mysql-bin sync_binlog = 1 binlog_expire_logs_seconds = 864000
設定は、相変わらずの日本語まわり、けっこう悩みました。
MySQL 8.0ではcollationに変化があるみたいなので、このあたりを確認しつつ、今回は「utf8mb4_ja_0900_as_cs_ks」を選択。選択肢として、「utf8mb4_ja_0900_as_cs」も
覚えておきましょう。
漢(オトコ)のコンピュータ道: MySQL 8.0登場!立ち止まることを知らない進化はこれからも続く。
日々の覚書: MySQL 8.0.1でutf8mb4_ja_0900_as_csが導入された
あとは、このあたりを見つつ適宜設定する感じで。
MySQL :: MySQL 8.0 Reference Manual :: 5.1.7 Server System Variables
MySQL :: MySQL 8.0 Reference Manual :: 15.13 InnoDB Startup Options and System Variables
MySQL :: MySQL 8.0 Reference Manual :: 17.1.6.4 Binary Logging Options and Variables
MySQL :: MySQL 8.0 Reference Manual :: 17.1.6.5 Global Transaction ID Options and Variables