MySQLメモ
トップ >
アラカルト >
MySQLメモ
環境
- 実施日: 2016年6月26日
- ホストOS: Windows 10
- ゲストOS: CentOS 6.8, CentOS 7.2, Ubuntu 14.04
- ハイパーバイザ: VirtualBox 5.0.22
- MySQL 5.1.73(CentOS 6.8), MariaDB 5.5.47(CentOS 7.2), MySQL 5.5.49(Ubuntu 14.04)
MySQL とは
- スウェーデンの MySQL AB社によって開発・公開されていたリレーショナルデータベース。
- 商用・有料の Oracle に対する、オープンソース系 RDB として、PostgreSQL とシェアを二分している。
- GPL と商用ライセンスのデュアルライセンスで提供されている。
- クライアントライブラリも基本的には GPL のため、クライアントライブラリを利用するソフトを配布する場合はソースコードの公開が必要。
- ただし、ソフトが Apache 2.0、BSDライセンス、MITライセンス、PHPライセンスなど、FOSS と呼ばれるオープンソースライセンスとして配布される場合は、GPL の呪縛がはずれ、それぞれのソフトのライセンスとして配布が可能。例えば、PHP から MySQL クライアントを利用する際は、PHP ライセンスとして利用可能。
→ http://www-jp.mysql.com/about/legal/licensing/foss-exception/
- 2008年に MySQL AB社が Sun Microsystems社に買収され、2010年に Sun Microsystems社が Oracle社に買収されたことから、現在では Oracle社が開発・公開を継続しており、このライセンス形態が継続するかは不明。
MariaDB とは
- MySQL の「妹分」的なリレーショナルデータベース。
- MySQL が Oracle 社の傘下に入ったこともあってか、MySQL AB 社の創設者 Michael "Montry" Widenius 氏が、MySQL から分離し、MySQL 互換の RDB として公開したもの。
- Red Hat Enterprise Linux 7、CentOS 7、Fedora 19 などはすでに標準の RDB を MySQL から MariaDB に変更している。
- MySQL 5.1 と MariaDB 5.1 や、MySQL 5.5 と MariaDB 5.5 はほぼ互換性あり。
- MySQL 5.6 と MariaDB は徐々に独自の強化を行うようになり、MariaDB 5.6 ではなく、MariaDB 10.0 として公開された。
- サーバーのライセンスは GPL のままだが、クライアントのライセンスは LGPL に変更された。(ライブラリとして利用するのであればソースコード公開は不要)
- MariaDB という名前は、Widenius氏の次女の名前から命名された。実は、MySQL の My も同氏の長女の名前から命名されている。
MySQLをインストールする
CentOS 6.8
# yum -y install mysql-server
# vi /etc/my.cnf
[mysqld]
character-set-server=utf8
# chkconfig mysqld on
# service mysqld start
# mysql_secure_installation
CentOS 7.2
# yum -y install mariadb-server
# vi /etc/my.cnf
[mysqld]
character-set-server=utf8
# systemctl enable mariadb
# systemctl start mariadb
# mysql_secure_installation
Ubuntu 14.04 LTS
# sudo apt-get install mysql-server
# sudo vi /etc/mysql/my.cnf
[mysqld]
character-set-server=utf8
# sudo /etc/init.d/mysql restart
インタラクティブモードで接続する
# mysql -h localhost -u root -p
Enter password:
mysql> quit
データベース
データベースを作成する
mysql> create database データベース名;
データベースを利用する
mysql> use データベース名;
データベースの一覧を表示する
mysql> show databases;
データベースを削除する
mysql> drop database データベース名;
テーブル
テーブルを作成する
mysql> create table テーブル名 ( カラム1 型1, カラム2 型2, ...);
テーブルの一覧を表示する
mysql> show tables;
テーブルの詳細を表示する
mysql> desc テーブル名;
テーブルを削除する
mysql> drop table テーブル名;
レコード
レコードを挿入する
mysql> insert into テーブル名 ( カラム1, カラム2 ) values ( 値1, 値2 );
レコードを表示する
mysql> select カラム1, カラム2 from テーブル名;
条件を指定してレコードを表示する
mysql> select カラム1, カラム2 from テーブル名 where カラム1 = 値1;
レコードを更新する
mysql> update テーブル名 set カラム2 = 値2 where カラム1 = 値1;
レコードを削除する
mysql> delete from テーブル名 where カラム1 = 値1;
Copyright (C) 2016 杜甫々
初版:2016年6月26日 最終更新:2016年6月26日
http://www.tohoho-web.com/ex/mysql.html