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

Debian 6でMySQLリレーショナルデータベースを使用する(Squeeze)

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

    MySQLのインストール

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

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

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

    apt-get install mysql-server
    

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

    MySQLサーバーパッケージは、依存関係およびクライアントライブラリとともにサーバーにインストールされます。 MySQLをインストールした後、mysql_secure_installationを実行することをお勧めします 、MySQLの保護に役立つプログラム。ローカルホストの外部からのルートログインを無効にしたり、匿名ユーザーアカウントを削除したり、テストデータベースを削除したりするオプションがあります。さらに、rootパスワードを設定できます。次のコマンドを実行して、プログラムを実行します。

    mysql_secure_installation
    

    MySQLの構成

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

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

    構成を変更した後、次のコマンドを発行してMySQLを再起動します。

    /etc/init.d/mysql restart
    

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

    MySQLはデフォルトでローカルホスト(127.0.0.1)にバインドします。パブリック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 36
    Server version: 5.1.49-3 (Debian)
    
    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>
    

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

    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' IDENTIFIED BY 's8723hk2';
    
    GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
    
    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つのフィールドを持つテーブルが作成されます。もちろん、これよりもはるかに多くの情報を顧客に保存したいと思うかもしれませんが、それでも一般的なケースの良い例です。

    詳細情報

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

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

    1. MySQLエラー1449:定義者として指定されたユーザーが存在しません

    2. ORIGINAL_DB_NAME()がSQLServerでどのように機能するか

    3. Oracleのデータベーススキーマをダンプファイルにエクスポートする方法

    4. SQLite-データを削除