トップページ -> インストール,設定,利用 -> MySQL -> MySQL Community サーバ 8.0 のインストール,データベース作成,テーブル定義とレコード挿入(Ubuntu 上)
[サイトマップへ], [サイト内検索へ]

MySQL Community サーバ 8.0 のインストール,データベース作成,テーブル定義とレコード挿入(Ubuntu 上)

MySQL とは, オープンソースのリレーショナルデータベース管理システムである. MySQL のインストールとテスト実行を行ないます


事前に決めておく事項


MySQL インストール

  1. MySQL の Web ページを開く

    http://www-jp.mysql.com/ を開く

  2. ダウンロード」の 「MySQL Community Server」をクリック.

    [image]
  3. Ubuntu の種類を選ぶ.

    以下「Ubuntu Linux」を選んだとして説明を続ける.

    [image]
  4. Ubuntu のバージョン種類を選ぶ.

    以下「Ubuntu Linux 20.04 (x86, 64-bit)」を選んだとして説明を続ける.

    [image]
  5. Ubuntu の場合は「DEB Bundle」を選ぶことにする.

    [image]
  6. Login(ログイン)」 または「Sign Up(サインアップ)

    すでに「サインアップ」済みなら, 「ログイン」を選び, 電子メールアドレス(Email)と, パスワード(Password)を入力.

    まだ「サインアップ」していないのなら, 「サインアップ」を選ぶ, 電子メールアドレスとパスワードを登録する.

    [image]
  7. Download Now」をクリック

    [image]
  8. ダウンロードが始まる

    [image]
  9. ダウンロードした .tar ファイルを展開する.
    tar -xvf mysql-server_8.0.21-1ubuntu20.04_amd64.deb-bundle.tar
    

    [image]
  10. ソフトウエアの利用条件は,利用者で確認すること.
  11. インストールする.
    sudo apt -yV install ./mysql-client_8.0.21-1ubuntu20.04_amd64.deb ./mysql-community-client_8.0.21-1ubuntu20.04_amd64.deb ./mysql-community-client-core_8.0.21-1ubuntu20.04_amd64.deb ./mysql-common_8.0.21-1ubuntu20.04_amd64.deb
    sudo apt -yV install ./mysql-server_8.0.21-1ubuntu20.04_amd64.deb ./mysql-community-server_8.0.21-1ubuntu20.04_amd64.deb ./mysql-community-server-core_8.0.21-1ubuntu20.04_amd64.deb
    
  12. このとき,MySQL データベース管理者のパスワードを設定する.

    同じものを 2回入れる.

    [image]
  13. パスワードの暗号化については,特に問題が無ければ「1. Use Strong Password Encryption (RECOMMENDED)」を選ぶ.

  14. この結果,MySQL 用アカウントとして mysqlが作成される(MySQL サーバの起動、データベースファイルの 所有権の設定等に使用).

    次のコマンドで確認できる.

    sudo cat /etc/passwd | grep postgres
    

    ※ 「x」は no password という意味(パスワードがないという意味ではない)

    このアカウントは Linux が管理するアカウントのこと.MySQL が管理するアカウントとは別のものである.

  15. データベースディレクトリの確認

    データベースファイルを置くディレクトリのこと.

    /var/lib/mysql になる.「sudo ls -la /var/lib/mysql」で確認できる.


MySQL のバージョンの確認

mysqladmin -u root -p version

[image]

MySQL データベース管理者 (root) パスワードの設定

パスワードは,英文字,数字,記号を使う.日本語は使わない

  1. MySQL/MariaDB が稼働した状態にする
  2. 端末で,次のコマンドを実行.

    パスワードを新規に設定する場合は,次のように操作.

    mysqladmin --user=root password "(新しいパスワード)"
    

    すでにパスワードを設定済みで,変更をしたい場合は,次のように操作.

    mysqladmin --user=root --password=(古いパスワード) password "(新しいパスワード)"
    

データベースの作成と権限の設定 (Ubuntu 上)

データベースを作成するために,SQL の create database コマンドを使用する.

  1. mysql -u root -p」により,MySQL データベース管理者で接続

    root」は MySQL データベース管理者のユーザ名

    mysql -u root -p
    

    [image]
  2. このあと,パスワードを入力してログインする.

    プロンプトが出るので, ここでは,MySQL データベース管理者のパスワードを入れる.

    画面にパスワードが表示されないのは正常動作.

    実行後,エラーメッセージが出ないことを確認

    [image]
  3. データベース生成

    utf8 の場合の生成例

    create database testdb default character set utf8 collate utf8_unicode_ci;
    

    [image]

    cp932 の場合の生成例

    create database testdb default character set cp932 collate cp932_japanese_ci;
    

    [image]
  4. show databases;」で,データベースが生成されたことを確認
    show databases;
    

    [image]
  5. \quit」で終了.
    \quit
    

    [image]

テーブル定義とレコード挿入

  1. mysql -u root -p -D testdb」により,MySQL データベース管理者で接続

    root」は MySQL データベース管理者のユーザ名, 「testdb」はデータベース名.

    mysql -u root -p -D testdb
    

    [image]
  2. このあと,パスワードを入力してログインする.

    プロンプトが出るので, ここでは,MySQL データベース管理者のパスワードを入れる.

    画面にパスワードが表示されないのは正常動作.

    実行後,エラーメッセージが出ないことを確認

    [image]
  3. SQL を用いたテーブル定義

    create table order_records (
        id            integer primary key not null,
        year          integer not null CHECK ( year > 2008 ),
        month         integer not null CHECK ( month >= 1 AND month <= 12 ),
        day           integer not null CHECK ( day >= 1 AND day <= 31 ),
        customer_name text not null,
        product_name  text not null,
        unit_price    real not null check ( unit_price > 0 ),
        qty           integer not null default 1 check ( qty > 0 ),
        created_at    timestamp not null default current_timestamp,
        updated_at    timestamp not null default current_timestamp on update current_timestamp,
        check ( ( unit_price * qty ) < 200000 ) );
    
  4. SQL を用いたレコード挿入

    start transaction;
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 1, 2020, 7, 26,  'kaneko', 'orange A', 1.2, 10 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 2, 2020, 7, 26,  'miyamoto', 'Apple M',  2.5, 2 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 3, 2020, 7, 27,  'kaneko',   'orange B', 1.2, 8 );
    insert into order_records (id, year, month, day, customer_name, product_name, unit_price) values( 4, 2020, 7, 28,  'miyamoto',   'Apple L', 3 );
    commit;
    
  5. 確認表示

    select * from order_records; 
    
  6. 更新し確認表示

    start transaction;
    update order_records set unit_price = 11.2 where id = 1;
    commit;
    select * from order_records;
    
  7. テーブル一覧の表示
    show tables;
    

    [image]
  8. \quit」で終了.
    \quit
    

    [image]

本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]