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

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

    MySQLは人気のあるデータベース管理システムであり、何千ものWebおよびサーバーアプリケーションのデータストレージプロバイダーとして使用されています。このガイドは、初心者がUbuntu 10.04 LTS(Lucid)LinodeでMySQLを使い始めるのに役立ちます。このチュートリアルでは、コンピューティングインスタンスの設定と保​​護で概説されている手順を実行し、システムが最新であり、SSH経由でrootとしてLinodeにログインしていることを前提としています。 sudo権限を持つ標準ユーザーとしてこれらの手順を実行する場合は、以下に示すコマンドの前に「sudo」を付けることを忘れないでください。

    基本的なシステム構成

    /etc/hostsを確認してください ファイルには適切な値が含まれています。以下のサンプルファイルでは、「12.34.56.78」をLinodeのIPアドレスに置き換え、「servername.example.com」をLinodeの完全修飾ドメイン名(FQDN)に置き換えます。このファイルの「servername」には、ユニークで記憶に残るものを使用することをお勧めします。

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

    次に、Linodeのホスト名が/etc/hostsで指定した短い値に設定されていることを確認します :

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

    universeを確認するには リポジトリが有効になっている場合は、/etc/apt/sources.listを変更してください 以下のサンプルファイルをミラーリングするファイル。

    ファイル:/ etc / apt / sources.list
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    
    ## main & restricted repositories
    deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
    
    deb http://security.ubuntu.com/ubuntu lucid-security main restricted
    deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted
    
    ## universe repositories
    deb http://us.archive.ubuntu.com/ubuntu/ lucid universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ lucid universe
    deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates universe
    
    deb http://security.ubuntu.com/ubuntu lucid-security universe
    deb-src http://security.ubuntu.com/ubuntu lucid-security universe

    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のrootパスワードを変更し、匿名ユーザーアカウントを削除し、ローカルホストの外部でrootログインを無効にし、テストデータベースを削除する機会が与えられます。これらのオプションに「はい」と答えることをお勧めします。特権テーブルを再ロードするように求められた場合は、[はい]を選択します。次のコマンドを実行して、プログラムを実行します。

    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はデフォルトでローカルホスト(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.41-3ubuntu12 (Ubuntu)
    
    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. DBMS_METADATA(およびSCHEMA_EXPORT)を使用してOracleSCHEMAをDDLスクリプトとして取得するにはどうすればよいですか。

    2. MySQLのselectステートメントとCASEまたはIFELSEIF?結果を得る方法がわからない

    3. エラー値が存在しません-postgresqlINSERTINTOの問題

    4. SQL /HQLJavaからのテーブル名と列名の解析