この記事にはプロモーションが含まれていることがあります

Ubuntu環境にaptコマンドでMySQLをインストール

IT
スポンサーリンク

最近はどのMySQLで開発するのがいいの?

現在、MySQLは5.7か8.0が主流のようです。同じMySQLですが、メジャーバージョンが違いますので、開発の際にはバージョンを統一させないとこのバージョン差異でハマりそうです。

GCPやAWSなどのクラウドに乗せる場合は、クラウドで利用可能なバージョンを選んでおいたほうが無難です。ちょっと確認してみました。

今回の環境
  • AWS
  • Ubuntu 18.04 LTS

クラウドサービスで利用可能なバージョン 2020.05.30 時点

AWSのRDS
・MySQL 5.5、5.6、5.7、8.0
※MySQL互換のAuroraデータベースの場合は、5.6と5.7のみ8.0はまだ無し

GCPのCloudSQL
・MySQL 5.6、5.7

ばったん
ばったん

今回は安定していて、クラウドでも対応している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

コメント

タイトルとURLをコピーしました