sql >> データベース >  >> RDS >> Mysql

Ubuntu 10.10(Maverick)でMySQLリレーショナルデータベースを使用する

    MySQLは人気のあるデータベース管理システムであり、何千ものWebおよびサーバーアプリケーションのデータストレージプロバイダーとして使用されています。このガイドは、初心者がUbuntu 10.10(Maverick)LinodeでMySQLを使い始めるのに役立ちます。コンピューティングインスタンスの設定と保​​護で概説されている手順を実行し、システムが最新であり、SSH経由でrootとしてLinodeにログインしていることを前提としています。

    基本的なシステム構成

    /etc/hostsを変更します 次の例のようなファイル。 「example.com」を独自のドメイン名に置き換え、「systemname」を置き換える一意の名前を選択します。これは、システムのFQDN(完全修飾ドメイン名)になります。 「12.34.56.78」をLinodeのIPアドレスに置き換えます。

    ファイル:/ etc / hosts
    1
    2
    
    127.0.0.1 localhost.localdomain localhost
    12.34.56.78 systemname.example.com systemname

    次のコマンドを発行してシステムのホスト名を設定し、「systemname」を上記で選択した短いホスト名に置き換えます。

    echo "systemname" > /etc/hostname
    hostname -F /etc/hostname
    

    MySQLのインストール

    次のコマンドを発行して、パッケージリポジトリとインストールされているプログラムが最新であることを確認します。

    apt-get update
    apt-get upgrade --show-upgraded
    

    ターミナルで次のコマンドを発行することから始めます。

    apt-get install mysql-server
    

    MySQLrootユーザーのパスワードを設定するように求められます。強力なパスワードを選択し、後で参照できるように安全な場所に保管してください。

    MySQLサーバーパッケージは、依存関係およびクライアントライブラリとともにサーバーにインストールされます。 MySQLをインストールした後、mysql_secure_installationを実行することをお勧めします MySQLを保護するために。プログラムのデフォルトの回答を受け入れることをお勧めします。特権を再ロードするように求められたら、「はい」を選択します。次のコマンドを実行して、プログラムを実行します。

    mysql_secure_installation
    

    mysql_secure_installationを実行した後 、MySQLは安全で、構成する準備ができています。

    MySQLの構成

    デフォルトでは、MySQLはメモリに関してサーバー環境についていくつかの仮定をします。 MySQLをより保守的に構成するには、構成ファイルのいくつかの設定を編集する必要があります。ファイルは次のようになります。

    ファイル:/ etc / mysql / my.cnf
    1
    2
    3
    4
    5
    6
    
    key_buffer = 16M
    max_allowed_packet = 1M
    thread_stack = 64K
    table_cache = 4
    sort_buffer = 64K
    net_buffer_length = 2K

    これらの設定は、メモリが少ない環境で推奨される値にすぎません。サーバーに適した値に自由に調整してください。このトピックに関する追加のリソースについては、このチュートリアルの最後にある「詳細情報」セクションを参照してください。

    MySQLの構成に変更を加えた場合は、次のコマンドを発行して再起動します。

    restart mysql
    

    MySQLはデフォルトでローカルホスト(127.0.0.1)にバインドします。ローカルクライアントを使用してデータベースに接続する方法については、安全なMySQLリモートアクセスガイドを参照してください。

    パブリックIPでMySQLへの無制限のアクセスを許可することはお勧めしませんが、bind-addressを変更することで、リッスンするアドレスを変更できます。 パラメータ。 MySQLをパブリックIPにバインドする場合は、特定のIPアドレスからの接続のみを許可するファイアウォールルールを実装する必要があります。

    MySQLの使用

    MySQLと対話するための標準ツールは、mysqlです。 クライアントプログラム。開始するには、プロンプトで次のコマンドを発行します。

    mysql -u root -p
    

    ルートMySQLユーザーのパスワードを入力するように求められます。 MySQLのインストール時に割り当てたパスワードを入力すると、MySQLモニターディスプレイが表示されます。

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 34
    Server version: 5.1.49-1ubuntu8 (Ubuntu)
    
    Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL v2 license
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    

    ルートパスワードを忘れた場合は、パッケージ再構成ツールを使用してそのパスワードを変更してください。

    dpkg-reconfigure mysql-server-5.1
    

    MySQLプロンプトのコマンドのリストを生成するには、\hと入力します :

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (\?) Synonym for `help'.
    clear     (\c) Clear the current input statement.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter.
    edit      (\e) Edit command with $EDITOR.
    ego       (\G) Send command to mysql server, display result vertically.
    exit      (\q) Exit mysql. Same as quit.
    go        (\g) Send command to mysql server.
    help      (\h) Display this help.
    nopager   (\n) Disable pager, print to stdout.
    notee     (\t) Don't write into outfile.
    pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
    print     (\p) Print current command.
    prompt    (\R) Change your mysql prompt.
    quit      (\q) Quit mysql.
    rehash    (\#) Rebuild completion hash.
    source    (\.) Execute an SQL script file. Takes a file name as an argument.
    status    (\s) Get status information from the server.
    system    (\!) Execute a system shell command.
    tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
    use       (\u) Use another database. Takes database name as argument.
    charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings  (\W) Show warnings after every statement.
    nowarning (\w) Don't show warnings after every statement.
    
    For server side help, type 'help contents'
    
    mysql>
    

    データベースを作成して、それにユーザーを割り当てましょう。 MySQLプロンプトで次のコマンドを発行します。

    CREATE DATABASE testdb;
    CREATE USER 'testuser'@localhost IDENTIFIED BY 'changeme';
    GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
    exit
    

    それでは、testuserとしてMySQLクライアントに再度ログインしましょう。 「customers」というサンプルテーブルを作成します。次のコマンドを発行します:

    mysql -u testuser -p
    
    USE testdb;
    CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    

    これにより、整数の場合はINTタイプの顧客IDフィールド(新しいレコードの場合は自動インクリメントされ、主キーとして使用されます)と、顧客の名前を格納するための2つのフィールドを持つテーブルが作成されます。

    デフォルトでは、データベースへのアクセスはローカルホストからの接続に制限されます。リモートの場所からデータベースを安全に管理するには、SSHトンネルを使用してmysqlを安全に管理するためのガイドに従ってください。 ではありません 非常に正当な理由がない限り、パブリックIPアドレスでMySQLを実行することをお勧めします。

    詳細情報

    このトピックの詳細については、次のリソースを参照してください。これらは有用であることを期待して提供されていますが、外部でホストされている資料の正確性や適時性を保証することはできません。

    • MySQL5.1リファレンスマニュアル
    • PHPMySQLマニュアル
    • DBD::mysqlのPerlDBIの例
    • MySQLdbユーザーガイド

    1. Hibernateで文字列をDBシーケンスにマップする方法

    2. 自動インクリメントフィールドの穴を埋める方法は?

    3. 3つのテーブルの内部結合

    4. PDOデータベース接続による簡単なCRUD操作