最近はどのMySQLで開発するのがいいの?
現在、MySQLは5.7か8.0が主流のようです。同じMySQLですが、メジャーバージョンが違いますので、開発の際にはバージョンを統一させないとこのバージョン差異でハマりそうです。
GCPやAWSなどのクラウドに乗せる場合は、クラウドで利用可能なバージョンを選んでおいたほうが無難です。ちょっと確認してみました。
今回は安定していて、クラウドでも対応しているMySQL 5.7を使うことにします。
MySQL 5.7をインストールする
現在の状況を確認
mysqlコマンドを実行して現状を確認します。
$ mysql
こんな感じで表示された場合は、まだ未導入のきれいな状態です。もしなにかバージョンが表示される場合は、先に削除しておきましょう。
Command ‘mysql’ not found, but can be installed with:apt install mysql-client-core-5.7 apt install mariadb-client-core-10.1Ask your administrator to install one of them.
aptコマンドでインストール
mysql-serverをインストールします。
$ sudo apt update
$ sudo apt install mysql-server -y
インストール結果の確認
mysqlコマンドでMySQLサーバに接続してみます。初期状態ではパスワードは未設定ですので、そのままEnterキーを押します。
$ sudo mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.30-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2020, 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>
これでMySQLサーバに接続しました。
切断する場合は、quitです。
この記事を書いた時点では、上記手順でMySQL5.7が入ったのですが、今日MySQL5.7環境を作りたくて実行したら新しいバージョンが入ってしまいました。5.7を入れたい場合は設定ツールで指定すればOKです。wgetが見つからない場合は、apt install wgetで入ります。
$ cd /tmp
$ wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
$ sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
$ sudo apt update
$ sudo apt install mysql-server
データベースの状態を確認
接続しただけでは物足りない方は、少しデータベースの中身を確認してみましょう。お、こいつMySQL知っとるな、とハッタリかませます(*^^*)
- select version():MySQLサーバのバージョン表示
- show databases:データベース一覧表示
- use <データベース名> :指定したデータベースをカレントスキーマに設定
- show tables:カレントスキーマのテーブル一覧を表示
- desc <テーブル名> :指定したテーブルの定義情報を表示
下の例では、データベース一覧表示⇒テーブル一覧表示⇒ユーザテーブルのレコードを表示しています。
mysql> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.7.30-0ubuntu0.18.04.1 |
+-------------------------+
1 row in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
(省略)
mysql> desc user;
(省略)
mysql> select user, host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+------
mysql > quit
コメント