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

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

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

    MySQLのインストール

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

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

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

    apt-get install mysql-server
    

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

    MySQLサーバーパッケージは、依存関係およびクライアントライブラリとともにサーバーにインストールされます。次に、/etc/hostsを確認します ファイルには、以下に示すような適切なエントリがあります。

    ファイル:/ etc / hosts
    127.0.0.1    localhost.localdomain    localhost
    12.34.56.78  servername.mydomain.com  servername

    上記の例では、必ずLinodeのパブリックIPアドレスを「12.34.56.78」に置き換えてください。

    MySQLをインストールした後、mysql_secure_installationを実行することをお勧めします 、MySQLの保護に役立つプログラム。 mysql_secure_installation ローカルホストの外部からのルートログインを無効にするオプション、匿名ユーザーアカウントを削除するオプション、およびテストデータベースを削除するオプションを提供します。さらに、rootパスワードを設定できます。次のコマンドを実行して、プログラムを実行します。

    mysql_secure_installation
    

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

    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 = 64K
    table_cache = 4
    sort_buffer = 64K
    net_buffer_length = 2K

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

    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 33
    Server version: 5.0.75-0ubuntu10 (Ubuntu)
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql>
    

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

    dpkg-reconfigure mysql-server-5.0
    

    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 command.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new 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プロンプトで次のコマンドを発行します。

    1
    2
    3
    4
    
    CREATE DATABASE testdb;
    CREATE USER 'testuser'@localhost IDENTIFIED BY 's8723hk2';
    GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
    exit

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

    mysql -u testuser -p
    
    1
    2
    
    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. テーブル名をplsqlパラメータとして渡す

    2. MySQL-挿入後に同じテーブルを更新するためのトリガー

    3. 異なるサーバー上の2つの異なるデータベース間でOracleスキーマをコピーまたはインポートするにはどうすればよいですか?

    4. Oracle SQL WHERE句で(+)記号はどういう意味ですか?