ほわいとあうと

旅行・音楽・IT関連など多趣味ブログです

【MySQL】Ubuntu16.04でデータベースを扱う!

 

はじめに

 Ubuntu上でデータベースを扱うための準備を備忘録として残しておきたいと思います。これは2020年2月現在の情報なので時期によっては新しいバージョン等が出ている可能性もあるので注意してください。


環境

 OS       : Ubuntu 16.04
 仮想化ソフト   : VMware Workstation 15 Player
 サーババージョン : 5.7.29-0ubuntu0.16.04.1
Windows10のPC上で仮想環境として実行しています。実際にサーバとして運用する場合は実機で用意するのが好ましいと思います。

作業

MySQLサーバのインストール
$ sudo apt install mysql-server

 ターミナルから管理者権限で実行します
 するとMySQLのrootパスワードを設定するように求められます。テスト用で構築する場合にはそのまま進んでもよいですが、基本的には設定しておいた方が良いと思われます。
f:id:Mashiroro1225:20200209143847p:plain

MySQLサーバへの接続
$ mysql -u root -p

 データベースの一覧を表示

mysql> show databases;

忘れがちですが、最後に「;」を忘れずに!
 このようにデータベースの一覧が表示されます。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)


 終了して通常のターミナルに戻る

mysql> exit
ユーザの作成

 rootのまま作業を進めると恐ろしいことになりかねないので、別のユーザを作成しましょう。

mysql> CREATE USER 'user_name'@'host_name' IDENTIFIED BY 'password';

 ユーザ作成の際には、ユーザ名は「'(ユーザ名)'@'(ホスト名)'」で指定します。ユーザ名とホスト名はシングルクオーテーション「'」で囲います。先ほどと同様に、最後の「;」を忘れずに…!(私はこれでエラーを吐かれました…)

 このように表示されたら作成されているはずです。

Query OK, 0 rows affected (0.00 sec)


 実際に作成されたか確認するために、ユーザ一覧を表示させて確認します。

mysql> SELECT user, host FROM mysql.user ORDER BY user, host;

 これで作成したユーザ名が一覧内に表示されていれば成功です。

作成したユーザでMySQLへログイン

rootでログインする際と同じようにターミナルからログインします。

$ mysql -u (作成したユーザ名) -p

 パスワードの入力を求められるので、入力して[Enter]

文字コードの変更
mysql> status

 Server characterset: latin1
Db characterset: latin1の欄からわかる通り、文字コードがIatin1 になっているので、後々面倒が起こらないようにUTF-8に変更します。変更するにはMySQLの設定ファイルを変更します。お好みのエディタで編集できますが、ここではnanoエディタを使用します。

sudo nano /etc/mysql/my.cnf

 開いた設定ファイルの末尾に以下を追記します。

[mysqld]
character-set-server=utf8
skip-character-set-client-handshake
default-storage-engine=INNODB

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8


 MySQLサーバを再起動して、設定が変更されているか確認します。

mysql> status


 このようになっていれば成功です。

Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
MySQLサーバの再起動
$ sudo service mysql restart

 再起動を行わないと、設定の変更が反映されないので注意してください。

さいごに

 MySQLのインストールと、基本的な設定は終わりです。ここで扱ったものだけではなく、もっと細かく設定を変更することもできるで必要に応じて変更していくとよいと思います。今回作業を進めていく中で、「;」のつけ忘れを何回かしてしまってエラーが出たので、細かな入力ミスには注意が必要ですね笑。
 これからデータベースの勉強も進めていこうと考えているので、またいくつか記事をかけたらいいなと思っております。Linux初心者としてこれからも頑張ります。