CentOS & Amazon Linux

【動画】04-01 MariaDBのインストール後に行うこと

講座時間
約7分
難易度
★★☆☆☆

手順一覧

1

MariaDBサーバーに接続

2

MariaDBのrootパスワード設定

3

文字コードをlatin1からutf8に変更

ポイント

MariaDBサーバーに接続

MariaDBに接続するときは、mysqlコマンドを使います。

mysql -u root -p

「u」オプションを使うことで接続に使うユーザーを指定。

「root」を指定していますが、ここでの「root」はLinuxのアカウントのことではなくMariaDBに予め登録されている管理者権限のユーザーのことです。

インストール直後はパスワードなしで接続することができるので対処します。

MariaDBに接続するとプロンプトが以下のように変わります。

MariaDB [(none)]>

 

MariaDBのrootパスワード設定

先にも書いたように、MariaDBのrootユーザーにはパスワードが設定されていません。

これは問題なので、今からパスワードを設定します。

ユーザーの情報が格納されているmysqlという名のデータベースをuse文で指定します。

MariaDB [(none)]> use mysql;

use文でデータベースを指定すると、プロンプトがnoneから指定したmysqlに変わります。

MariaDB [mysql]>

次に、今の設定がどのようになっているのか確認してみます。

select host,user,password from user;
+--------------------------+------+----------+
| host                     | user | password |
+--------------------------+------+----------+
| localhost                | root |          |
| su-camp031.superusers.jp | root |          |
| 127.0.0.1                | root |          |
| ::1                      | root |          |
| localhost                |      |          |
| su-camp031.superusers.jp |      |          |
+--------------------------+------+----------+
6 rows in set (0.00 sec)

updateでrootパスワード設定

update文を使ってrootのパスワードを設定します。

update user set password=password('sucamp') where user = 'root';

パスワードのアップデートをしたらselect文で確認。

今回は講座ということでパスワードは「sucamp」としていますが、実際にセットアップするサーバーでは強度の高いパスワードを使ってください。

設定したパスワードを即時反映させるためにflush privilegesとタイプします。

flush privileges;

deleteでデータを削除

delete文でパスワードの設定がないデータを削除します。

delete from user where password = "";

設定後のuserテーブルの内容はこのようになります。

+--------------------------+------+-------------------------------------------+
| host                     | user | password                                  |
+--------------------------+------+-------------------------------------------+
| localhost                | root | *0259K2E6B8F7CEDAA3502F7G653EF4A39C638CFF |
| su-camp031.superusers.jp | root | *0259K2E6B8F7CEDAA3502F7G653EF4A39C638CFF |
| 127.0.0.1                | root | *0259K2E6B8F7CEDAA3502F7G653EF4A39C638CFF |
| ::1                      | root | *0259K2E6B8F7CEDAA3502F7G653EF4A39C638CFF |
+--------------------------+------+-------------------------------------------+
4 rows in set (0.00 sec)

 

MariaDBサーバーの文字コード設定

MariaDBをインストールした後に必ずやっておくことの2つ目が、文字コードをlatin1からutf8に変更することです。

まずはstatus文で現在の文字コードをチェックします。

status;

MariaDBのバージョン等が表示されている中、以下のようにセットされている文字コードが表示されます。

Server characterset: latin1
Db characterset: latin1

latin1の状態で日本語のデータを挿入すると文字化けするので、恒久的にutf8になるように設定をします。

MariaDBの切断

現在接続しているMariaDBサーバーを切断して、Linuxとの会話に戻ります。

\q

/etc/my.cnf.d/server.cnfの編集

文字コードは、/etc/my.cnf.d/server.cnf の中に記述します。

server.cnfのオリジナルをコピーした後に以下のように編集してください。

[server] ←の記述の下に、
character-set-server = utf8

「character-set-server = utf8」を追記した後にMariaDBを再起動すれば設定が反映されます。

再度MariaDBサーバーに接続して、文字コードがutf8に変わったことを確認してください。今度は、設定したパスワードを入力する必要があります。

文字コードを設定し、MariaDBの再起動後は以下のように表示されるはずです。

status;
--------------
mysql  Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:		    8
Current database:	    mysql
Current user:		      root@localhost
SSL:			            Not in use
Current pager:		    stdout
Using outfile:		    ''
Using delimiter:	    ;
Server:			          MariaDB
Server version:		    5.5.64-MariaDB MariaDB Server
Protocol version:	    10
Connection:		        Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		      /var/lib/mysql/mysql.sock
Uptime:			          23 hours 56 min 17 sec

Threads: 1  Questions: 146  Slow queries: 0  Opens: 15  Flush tables: 2  Open tables: 41  Queries per second avg: 0.001
--------------

おすすめ記事

  1. 【多段SSH】公開鍵認証で中継サーバー経由のログインが簡単!

  2. インターネットに繋いだサーバーで最初にやらなければならない設定

  3. Swapアウトしているプロセスを特定する方法

  4. Linuxを極めるならコマンドよりも〇〇が先だ!!

  5. お名前ドットコムのDNS設定方法