MySQLは人気のあるデータベース管理システムであり、何千ものWebおよびサーバーアプリケーションのデータストレージプロバイダーとして使用されています。このガイドは、初心者がUbuntuKarmicLinodeで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
上記の例では、必ず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
これらの設定は、メモリが少ない環境で推奨される値にすぎません。サーバーに適した値に自由に調整してください。このトピックの追加リソースについては、このチュートリアルの最後にある「詳細情報」セクションを参照してください。
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 41
Server version: 5.1.37-1ubuntu5 (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 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プロンプトで次のコマンドを発行します。
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つのフィールドを持つテーブルが作成されます。もちろん、これよりもはるかに多くの情報を顧客に保存したいと思うかもしれませんが、これは一般的なケースの良い例です。
詳細情報
このトピックの詳細については、次のリソースを参照してください。これらは有用であることを期待して提供されていますが、外部でホストされている資料の正確性や適時性を保証することはできません。
- MySQL5.1リファレンスマニュアル
- PHPMySQLマニュアル
- DBD::mysqlのPerlDBIの例
- MySQLdbユーザーガイド