エンタープライズレベルのMySQLデータベースサーバーを構築する方法

CentOS7プラットフォームにMySQLデータベース管理システムツールをインストールするには、さまざまな方法があります。シンプルなバイナリデータパッケージのインストールまたはソースパッケージのインストールを選択できます。ソースコードのインストール方法とコンパイルの柔軟性により、ソースコードのインストール方法は次のようになります。デモンストレーションの場合、MySQLのソースコードインストールは主に5つのステップに分かれます。依存パッケージのインストール、MySQLソースパッケージのダウンロード、インストール環境の構成、データベースのコンパイルとインストール、初期化です。

MySQL5.6はcmakeを使用してインストールアーキテクチャを構築することに注意してください。ユーザーが以前の構成インストール方法の使用を主張する場合、ユーザーはソースパッケージのBUILD / autorun.shスクリプトを介して構成ファイルを生成し、従来の構成インストールを実現できます。

どの方法を使用する場合でも、MySQLデータベースをインストールしてデプロイする前に、対応する依存パッケージをインストールする必要があります。ここで、yumを使用してこれらの依存パッケージを事前にインストールし、MySQL公式Webサイトからソースソフトウェアをダウンロードしてインストールします。

[root @ localhost〜]#yum -y install gcc make cmake ncurses-devel libxm12-devel \

libtool-ltdl-devel gcc-c ++ autoconf automake bison zlib-devel

[root @ localhost〜]#wget  http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.11.tar.gz

インストールプロセス中に、データベースプロセスのユーザーアカウントとグループアカウントを作成する必要があります。これはサービスプロセスアカウントである必要があるため、このタイプのアカウントはオペレーティングシステムにログインする必要がありません。シェルを/ sbin / nologingに設定する方が安全です。MySQLをコンパイルしてインストールしたら、ソフトウェアのホームディレクトリに正しいユーザーとグループを設定する必要があります。

[root @ localhost〜]#groupadd mysql

[root @ localhost〜]#useradd -r -s / sbin / nologin -g mysql mysql

[root @ localhost〜]#tar -xzf mysql-5.6.11.tar.gz -C / usr / src /

[root @ localhost〜]#cd /usr/src/mysql-5.6-11/

[root @ localhost〜]#cmake。-DENABLE_DOWNLOADS = 1

[root @ localhost〜]#make && make install

[root @ localhost〜]#chown -R mysql.mysql / usr / local / mysql

データベースソフトウェアのインストール後、mysql_install_dbスクリプトを使用してデータベースを初期化し、userを使用してデータベースアカウント名を定義し、basedirを使用してソフトウェアのホームディレクトリを定義し、datedirを使用してデータベースストレージディレクトリを定義するよう求められます。初期化が完了したら、mysqlのメイン構成ファイルmy.cnfを/ etc /ディレクトリにコピーする必要があります。

[root @ localhost〜]#/ usr / local / mysql / scripts / mysql_install_db --user = mysql \

--basedir = / usr / local / mysql / --datadir = / usr / local / mysql / data

[root @ localhost〜]#cp /usr/local/mysql/my.cnf /etc/my.cnf

上記の手順で、mysqlデータベースソフトウェアのインストールが完了しました。強力なmysqlデータベース管理システムを使用する場合は、mysqld_safeプロセスを使用して、データベースサービスプロセスを手動で開始するか、ソフトウェアパッケージで提供される起動スクリプトmysql.serverを使用してサービスを管理する必要があります。処理する。

[root @ localhost〜]#/ usr / local / mysql / bin / mysqld_safe --user = mysql&

[root @ localhost〜]#cp /usr/local/mysql/support-files/mysql.server /erc/init.d/mysqld

[root @ localhost〜]#chkconfig --mysqldを追加

[root @ localhost〜]#chkconfig mysql on

[root @ localhost〜]#PATH = $ PATH:/ usr / local / mysql / bin /

[root @ localhost〜]#echo「エクスポートPATH = $ PATH:/ usr / local / mysql / bin」>> / etc / profilt

この時点で、MySQLデータベースシステムがインストールされ、初期化されているため、mysqld起動スクリプトを使用して起動関数を実装できます。ただし、UNIX環境では、mysql_install_dbプログラムを使用してデータベースを初期化すると、デフォルトでテスト用の空のデータベーステストが作成され、初期化プログラムによって、mysqlデータベースシステムのアカウントと権限であるmysqlデータベースにユーザーテーブルも作成されます。テーブル、初期状態では、テーブルには以下の問題があります。

l mysql.userテーブルのルートはスーパー管理者アカウントですが、アカウントにはデフォルトでパスワードがないため、不正なユーザーがパスワードなしでデータベースに直接アクセスする可能性があります。

l匿名アカウントはデフォルトでmysql.userに作成され、これらのアカウントにもパスワードが設定されていません。次のコマンドを使用して、デフォルトでmysqlによって作成されたユーザーアカウントとパスワードのデータを表示できます。

[root @ localhost〜]#mysql -u root -e“ SELECT User、Host、Password FROM mysql.user”

このため、MySQLはこれらの問題を解決するためのperlスクリプトプログラムを提供しています。スクリプトを実行する前提は、perlプログラムがオペレーティングシステムにインストールされていることです。スクリプトの実行後、ルートパスワードの入力を求められます。最初の実行ではEnterキーを押すだけです。プログラムは、一連のプロンプトを通じてrootユーザーのパスワードを設定するかどうか、匿名ユーザーを削除するかどうか、rootリモートログインを禁止するかどうか、テストデータベースを削除するかどうか、新しいデータをすぐに再読み込みするかどうかを尋ねます。すべての質問で特にyを選択することをお勧めしますこのステップは、エンタープライズ実稼働環境で必要です。

[root @ localhost〜]#/ usr / local / mysql / bin / mysql_secure_installation

これまでのところ、MySQLの初期化操作はすべて完了しています。

MySQL管理ツール

mysqlはクライアント/サーバーアーキテクチャに基づくデータベースシステムで、mysqlサーバーはデーモンとして実行され、mysqlはメインサーバープロセスです。サーバーで何らかの操作を実行する必要がある場合は、クライアントソフトウェアを使用してサーバーに接続し、操作する必要があります。多くのmysqlクライアントプログラムがあり、組み込みソフトウェアmysql、mysqladmin、mysqldumpおよびその他のコマンドを使用してデータベースでデータ操作を実行できます。または、APIを介してmysqlデータベースに接続して同じデータベース操作を実行する独自の動的Webサイトを設計できます。さらに、mysql WorkBenchツールは、mysqlの公式Webサイトからダウンロードできます。このツールは、グラフィカルなmysqlデータベースクライアント管理プログラムです。Benjieは、mysqlソフトウェアパッケージと統合されたクライアントソフトウェアに焦点を当てます。

1. MySQLツール

mysqlは、インタラクティブおよび非インタラクティブ操作をサポートするシンプルなコマンドラインSQLツールです。mysqlコマンドを使用するのは非常に簡単です。管理ページに入るには、システムコマンドターミナルにmysqlを入力するだけです

[root @ localhost〜]#mysql

mysqladminまたはmysql_secure_installationプログラムを使用してアカウントのパスワードを設定する場合は、mysqlプログラムを起動するときにアカウント名とパスワードを指定する必要があります。インタラクティブインターフェイスに入った後、SQLステートメントを入力してデータベースを操作できます。SQLステートメントの後に、または\ gを使用する必要があります。終わり。プログラムを終了するときは、exitから終了できます。

[root @ localhost〜]#mysql --user = user_name --password = your_passwordデータベース名

l SQLステートメントスクリプトファイルを事前に作成することにより、mysqlツールを使用して、次のようにカスタムのデータ操作を実行できます。

[root @ localhost〜]#cat script.sql

テーブルを表示します。

mysql.user \ Gから*を選択します

[root @ localhost〜]#mysql db_name <script.sql> out.tab

このうち、script.sqlはSQLスクリプトファイルで、out.tablはリダイレクトされた出力ファイルです。

l MySQLコマンドは多数のオプションをサポートしています。以下は一般的なMySQLオプションと説明です。

--help、-?ヘルプ情報を表示します

--auto-rehashタブは自動的に入力され、デフォルトはオンです

--auto-vertical-outputは自動的に垂直方向に表示されます。ディスプレイが広すぎる場合は、列形式で表示されます

--batch、-B履歴ファイルを使用しない

--bind-address = ip_address特定のネットワークインターフェイスを使用してMySQLサーバーに接続します

--database = dbname、-D dbnameは、使用するデータベースの名前を指定します

--defaule-character-set = charset_nameはデフォルトの文字セットを設定します

--delimiter = strステートメントの区切り文字を設定します

--host = host_name、-h host_name hostを介して指定されたサーバーに接続します

--password、-p MySQLサーバーへの接続にパスワードを使用

--pager = [command]ページングプログラムを使用してページごとに表示

--port = port_num指定されたポート番号を使用してサーバーに接続します

--quickクエリ結果をキャッシュしません

--unfufferedは各クエリの後にキャッシュを更新します

--user = user_name、-u user_name指定されたアカウントを使用してサーバーに接続します

lケースは次のとおりです

rootアカウントを使用してサーバーに接続し、パスワードなしでログインします

[root @ localhost〜]#mysql -u root

rootアカウントを使用してサーバーに接続し、デフォルトでmysqlデータベースに入ります。

[root @ localhost〜]#mysql -u root mysql

rootアカウントを使用してサーバーに接続し、パスワード123456でログインします。

[root @ localhost〜]#mysql -uroot -p123456

rootアカウントを使用してサーバー192.168.0.10サーバーに接続し、パスワード123456を使用します

[root @ localhost〜]#mysql -uroot -p123456 -h 192.168.0.10

l mysqladminツールを使用する

mysqladminは管理を実行するためのツールです。これを使用して、サーバーの構成、実行ステータス、およびデータベースの作成や削除などの操作を確認できます。

構文形式は次のとおりです。

mysqladmin [オプション]コマンドパラメータ[コマンド[コマンドパラメータ]]

mysqladminは次のコマンドをサポートします

create db_test — db_testという名前のデータベースを作成する

debugデバッグ情報をエラーログに書き込みます。

drop db_testは、drop db_testという名前のデータベースとデータベース内のすべてのデータテーブルを削除します

extended-statusはサーバーのステータス変数とその値を表示します

flush-hostは、すべてのホストのキャッシュ情報をフラッシュします

flush-logsはすべてのログをフラッシュします

flush-privilegesは特権データテーブルを再ロードします

flush-statusステータス変数をクリアします

フラッシュテーブルはすべてのデータテーブルをフラッシュします

kill id、id、...サーバースレッドを殺す

password new-123456新しいパスワードを設定します

サーバーが使用可能かどうかを確認するためのping

権限データテーブルを再読み込みします

すべてのデータテーブルを更新し、ログファイルを再起動します

shutdownサーバーをシャットダウンします。

おすすめ

転載: blog.csdn.net/wx_15323880413/article/details/108557963
おすすめ