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

ArchLinuxでのMySQLリレーショナルデータベースの使用

    MySQLは人気のあるデータベース管理システムであり、何千ものWebおよびサーバーアプリケーションのデータストレージプロバイダーとして使用されています。このガイドは、初心者がArchLinuxでMySQLを使い始めるのに役立ちます。 MySQLをアプリケーションスタックの一部としてデプロイする場合は、LEMPおよびLAMPガイドを検討してください。

    システム構成

    /etc/hostsを確認してください ファイルには、以下に示すような適切なエントリがあります。 「12.34.56.78」をLinodeのパブリックアドレスに、「servername」を短いホスト名に、「mydomain.com」をシステムのドメイン名に置き換えます。

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

    HOSTNAME=を設定して、システムのホスト名を設定します /etc/rc.confの値 ファイル。

    MySQLのインストール

    次のコマンドを発行して、システムを更新し、MySQLをインストールします。

    pacman -Syu
    pacman -S mysql
    

    mysqldを追加する必要があります DAEMONS-()へのデーモン /etc/rc.confの最後にある配列 ファイルを使用して、次の再起動サイクルに続いてmysqlプロセスが開始されるようにします。

    MySQLサーバーパッケージは、依存関係およびクライアントライブラリとともにサーバーにインストールされます。次のコマンドを実行してMySQLを起動します。

    /etc/rc.d/mysqld start
    

    MySQLの構成

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

    mysql_secure_installation
    

    デフォルトでは、MySQLは内部接続のみをリッスンします。 TCP / IPを介してデータベースに接続する場合は、削除またはコメントする必要があります(たとえば、行の前に#を付けます。 )bind-addressを追加します my.cnfファイルの行。次のように:

    ファイル:/ etc / mysql / my.cnf
    1
    2
    
    # skip-networking
    bind-address - 127.0.0.1

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

    MySQLの構成に対応する追加のリソースについては、このチュートリアルの最後にある「詳細情報」セクションを参照してください。次のコマンドを発行して、デーモンを再起動します。

    /etc/rc.d/mysqld restart
    

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

    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 2
    Server version: 5.5.9-log Source distribution
    
    Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    

    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);
    exit
    

    これにより、整数のINTタイプの顧客IDフィールド(新しいレコードの場合は自動インクリメントされ、主キーとして使用されます)と、顧客の名前を格納するための2つのフィールドを持つテーブルが作成されます。もちろん、顧客のためにこれよりもはるかに多くの情報を保存したいと思うかもしれませんが、それでも一般的なケースの良い例です。

    MySQLのルートパスワードをリセットする方法

    ルートMySQLパスワードを忘れた場合は、次のコマンドを発行してパスワードをリセットできます。

    /etc/rc.d/mysqld stop
    mysqld_safe --skip-grant-tables &
    mysql -u root
    

    パスワードリセットの次の部分は、MySQLクライアントプログラム内で実行されます。

    USE mysql;
    UPDATE user SET PASSWORD-PASSWORD("CHANGEME") WHERE User-'root';
    FLUSH PRIVILEGES;
    exit
    

    最後に、次のコマンドを発行してMySQLを再起動します。

    /etc/rc.d/mysqld restart
    

    MySQLのチューニング

    MySQL Tunerは、実行中のMySQLインスタンスに接続し、ワークロードに基づいた構成の推奨事項を提供する便利なツールです。理想的には、MySQLインスタンスは、チューナーを実行する前に少なくとも24時間動作している必要があります。インスタンスの実行時間が長いほど、MySQLTunerが提供するアドバイスが向上します。

    MySQL Tunerをインストールするには、次のコマンドを発行します。

    pacman -S wget
    wget http://mysqltuner.pl/mysqltuner.pl
    chmod 755 mysqltuner.pl
    

    MySQL Tunerを実行するには、次のように入力します。

    ./mysqltuner.pl
    

    このツールは構成の提案を提供するように設計されており、優れた出発点であることに注意してください。 MySQL*を利用するアプリケーションに基づいて構成を調整するための追加の調査を実行するのが賢明です。 *

    詳細情報

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

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

    1. 「ユーザーpostgresのパスワード認証に失敗しました」

    2. SQLServerの命名規則に関する感情に訴えない論理的考察

    3. IRI WorkbenchでのInformix(IDS12 DB)への接続

    4. KubernetesでGaleraクラスターを実行する