101
109

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu で MySQL

Last updated at Posted at 2014-07-09

インストール

sudo apt-get install mysql-server

インストール手順中、 root に対するパスワード設定画面が表示されるので、 適切に設定しておく。

日本語 (UTF-8)

以下を入力してみる:

mysql -u root -p  # ユーザとしてrootを指定し、パスワードを要求する
Enter password:  # 先ほど設定したパスワードを入力
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.5.28-0ubuntu0.12.10.2 (Ubuntu)
  
Copyright (c) 2000, 2012, 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> status;  # 左記のようにコマンド入力
--------------
mysql  Ver 14.14 Distrib 5.5.28, for debian-linux-gnu (x86_64) using readline 6.2
  
Connection id:      41
Current database:   
Current user:       root@localhost
SSL:            Not in use
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server version:     5.5.28-0ubuntu0.12.10.2 (Ubuntu)
Protocol version:   10
Connection:     Localhost via UNIX socket
Server characterset:    latin1  # サーバ内で扱う文字コードがlatin1(iso8859-1)になっている
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /var/run/mysqld/mysqld.sock
Uptime:         1 min 26 sec

これだと、サーバサイドアプリ側 (PHP, Java, etc...) から日本語を含んだデータを投入したりすると文字化けが発生してしまう。 全て UTF-8 で統一すれば良いので、まず MySQL から抜けて以下を書く:

sudo vi /etc/mysql/my.cnf  # MySQLの設定ファイルを変更する

以下のように各ディレクティブに記述を追加する:

[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 を再起動し、 全て UTF-8 に変更されている事を確認する。

sudo /etc/init.d/mysql restart
mysql -u root -p
...
status;
...
Server characterset:    utf8  # UTF-8になっている事を確認する
Db     characterset:    utf8

ユーザ作成

開発環境であれば root ユーザのみでも良いかもしれないが、 全て同じユーザで作業をするのはセキュリティ上宜しくないので、 各個人のユーザを作成して作業をする。 MySQL に root でログインし、 以下のように入力しユーザを作成する:

-- 全ての権限を与える. 制限を加える場合は変更する
GRANT ALL PRIVILEGES ON *.* TO (ユーザ名)@localhost IDENTIFIED BY '(パスワード)' WITH GRANT OPTION;
FLUSH PRIVILEGES;

作成したユーザで MySQL にログインできるか確認する。

mysql -u (ユーザ名) -p
Enter password:  # 先ほど設定したパスワードを入力

PHPMyAdmin

有名な Web アプリ型の MySQL クライアント。 便利なので開発環境等では入れておいても損はないが、 本番には入れないか、 若しくは Basic 認証などを入れておいた方が良い。

sudo apt-get install php5-mysql phpmyadmin

これで /usr/share/phpmyadmin に PHPMyAdmin がインストールされるのだが、 Apache に /usr/share/phpmyadmin を有効な URL として設定しなければならない。 が Ubuntu の場合既に apt-get した時にこの設定ファイルが作成されているので、 以下のように mods-enabled にリンクを張ってやれば良い:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/mods-enabled/phpmyadmin.conf
sudo service apache2 reload  # 設定ファイルを読み込む

http://localhost/phpmyadmin/ にアクセスし、 正しく PHPMyAdmin が表示される事を確認する。

101
109
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
101
109

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?