MySQLの起動と接続方法の例分析

MySQLの起動と接続方法の例分析

この記事では、例を使用して MySQL を起動して接続する方法について説明します。ご参考までに、詳細は以下の通りです。

MySQL の操作は 2 つの部分で構成されます。1 つはサーバー側プログラム mysqld で、もう 1 つはクライアント側プログラム mysql です。 mysqld が起動されているときのみ、mysql クライアントはそれに接続できます。 mysqld を起動する方法は 4 つあり、mysql に接続する方法も 4 つあります。

mysqldの起動方法

方法 1: mysqld

mysqld は実行可能なコマンドであり、サーバー側プログラムでもあります。このプログラムを起動することは、MySQL サーバー側プロセスを起動することと同じです。しかし、このコマンドは一般的には使用されず、mysqld_safe コマンドがよく使用されます。

コマンド形式:
mysqld [オプション]

のように:
mysqld --defaults-file=/etc/my.cnf

ヘルプを表示:
mysqld --verbose --help

方法 2: mysqld_safe

mysqld_safe は、mysqld を間接的に参照する起動スクリプトです。 mysqld_safe スクリプトを起動すると、MySQL サーバー プロセスが起動され、mysqld を監視するデーモン プロセスも起動されます。mysqld サービスがハングアップすると、mysqld サービスが直ちに再起動されます。

さらに、mysqld_safe 起動方法では、実行中のプロセスのエラー ログやその他の診断情報もファイルに出力されるため、トラブルシューティングや問題の解決が容易になります。この起動方法は最も一般的なものです。

コマンド形式:
mysqld_safe [オプション] &

のように:
mysqld_safe --defaults-file=/etc/my.cnf &

ヘルプを表示:
mysqld_safe --ヘルプ

方法3: mysqld_multi

単一のホスト上で複数の MySQL インスタンスを実行する必要がある場合は、mysqld_multi を使用してさまざまな mysqld サービスを管理できます。この起動方法は、MySQL クラスターに非常に役立ちます。

コマンド形式:
mysqld_multi [オプション] {開始|再ロード|停止|レポート} [GNR、GNR、GNR...]

ヘルプを表示:
mysqld_multi --ヘルプ

方法 4: mysql.server

mysql.server も起動スクリプトです。間接的に mysqld_safe を呼び出します。mysql.server を呼び出すときに、最後に start パラメータを指定することでサーバー プログラムを起動できます。この起動モードは通常、RPM パッケージを通じてインストールされた MySQL によって生成されます。

mysql.server ファイルは実際にはリンク ファイルです。実際のファイルは ../support-files/mysql.server です。

コマンド形式:
mysql.server の開始|再起動|停止|ステータス

MySQL接続方法

方法 1: TCP/IP ソケット

Unix 系および Windows オペレーティング システムの両方で使用できます。TCP/IP ソケットはネットワーク プロトコルです。MySQL サーバーが起動すると、ポートをリッスンします。クライアントが接続を開始すると、MySQL サーバーのホスト IP+ポートを指定して接続できます。

この通信モードでは、MySQL サーバーとクライアントを異なるホストに展開することができ、これは最も一般的に使用される接続方法でもあります。

mysql -h ホストIP -P ポート -u ユーザー -p
のように:
mysql -h127.0.0.1 -P3306 -uroot -p

MySQLの起動と接続方法

方法2: Unixソケット

Unix 系オペレーティング システムでのみ使用できます。Unix ソケットはネットワーク プロトコルではないため、MySQL サーバーとクライアントが同じホスト上にある場合にのみ使用できます。

クライアント プログラムの起動時にホスト名を localhost として指定するか、起動パラメータとして --protocol=socket を指定すると、サーバー プログラムとクライアント プログラムは Unix ドメイン ソケット ファイルを介して通信できるようになります。

MySQL サーバー プログラムがリッスンするデフォルトの Unix ドメイン ソケット ファイル パスは /tmp/mysql.sock であり、クライアント プログラムもデフォルトでこの Unix ドメイン ソケット ファイルに接続します。

1. mysql -uroot -p // デフォルトではソケット経由で通信します。デフォルトは localhost です。
2. mysql -hlocalhost -uroot -p
3. mysql -S ソケットファイルパス -uroot -p
のように:
mysql -S /var/run/mysqld/mysqld.sock -uroot -p

MySQLの起動と接続方法

MySQLの起動と接続方法

MySQLの起動と接続方法

ソケットファイルの場所を表示します:
'socket' のような変数を表示します。

MySQLの起動と接続方法

方法3: 名前付きパイプ

これは Windows のようなオペレーティング システムでのみ使用でき、MySQL サーバーとクライアントが同じホスト上にある場合にのみ使用できます。

サーバー プログラムを起動するコマンドに --enable-named-pipe パラメータを追加し、クライアント プログラムを起動するコマンドに --pipe または --protocol=pipe パラメータを追加する必要があります。

–enable-named-pipe=オン/オフ;

方法4: 共有メモリ

これは Windows のようなオペレーティング システムでのみ使用でき、MySQL サーバーとクライアントが同じホスト上にある場合にのみ使用できます。

サーバー プログラムを起動するコマンドに --shared-memory パラメータを追加する必要があります。サーバーが正常に起動すると、共有メモリがローカル クライアント プログラムのデフォルトの接続方法になります。ただし、クライアント プログラムを起動するコマンドに --protocol=memory パラメータを追加して、通信に共有メモリを使用することを明示的に指定することもできます。

–共有メモリ=オン/オフ;

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL の起動オプションとシステム変数の例の詳細な説明
  • CentOS 7.0 (mysql-5.7.21) で複数の MySQL インスタンスを起動する方法
  • MYSQL スロークエリとログの例の説明
  • MySQL で結果を選択して更新を実行する例のチュートリアル
  • あるテーブルからバッチデータをクエリし、それを別のテーブルに挿入する MySQL の完全な例
  • Springboot は MySQL 接続サンプルコードを設定します
  • MySQLで大きなテーブルを正常に削除する方法の詳細な説明
  • MySQL トリガーの使用シナリオとメソッドの例
  • MySQL でコミットされていないトランザクションを見つけるための SQL の例の簡単な分析
  • MySQLインスタンスが起動できない問題の分析と解決

<<:  JavaScript配列の一般的なメソッドの例のまとめ

>>:  React.FCとReact.Componentの使用に関する簡単な説明

推薦する

spring-boot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装します [完全なソース コードのダウンロード付き]

Docker入門Docker はオープンソースのアプリケーション コンテナ エンジンです。従来の仮...

meta name="" content="の機能の詳細な説明

1. 文法: <meta name="名前" content="...

MySQL 5.6 zipパッケージのインストールチュートリアルの詳細

これまでは、拡張子が .msi のファイル、つまり、完全なインストールが使用されていました。しかし、...

JS デコレータ パターンと TypeScript デコレータ

目次デコレータパターンの紹介TypeScript のデコレータデコレータの使用デコレーターファクトリ...

シーケンス関数を実装する MySQL コード

MySQLはシーケンス関数を実装する1. シーケンスレコードテーブルを作成する テーブル `sys_...

グループフィールドを 1 行に書き込むための mysql group_concat メソッドの例

この記事では、MySQL group_concat を使用してグループ化されたフィールドを 1 つの...

CSS を使用して 3 列レイアウトを実装するサンプル コード。中央の列は適応型で、テキスト サイズに応じて幅が変わります。

Baiduのインタビューで遭遇する質問は、次のレイアウト効果を達成する必要がある。 中央の紫色の列...

CentOS 7 で Apache (httpd) サービスをインストールおよびアンインストールする詳細な手順

アンインストールまず、次のコマンドを使用して、httpd サービスがインストールされているかどうか、...

JavaScript キャンバスは影付きのグラフィックとテキストを実装します

キャンバスを使用して、参照用の影付きのグラフィックとテキストを作成します。具体的な内容は次のとおりで...

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...

Linux redis-Sentinel 設定の詳細

ダウンロードダウンロードアドレス: https://redis.io/download /usr/l...

マージンの重複問題を解決する方法

1. まず、2つ以上の隣接する通常フローブロック要素の垂直マージンの崩壊を引き起こす原因を知る必要が...

Reactのコンポーネント作成方法のまとめ

目次1. 関数を使用してコンポーネントを作成する2. クラスを使用してコンポーネントを作成する3. ...

MySQL 5.7 の /etc/my.cnf パラメータの紹介

以下は、mysql 5.7 の /etc/my.cnf の一般的なパラメータの一部です。これらを自分...

Docker イメージの作成、アップロード、プル、およびデプロイ操作 (Alibaba Cloud を使用)

学習プロセス中にプッシュ イメージが常にタイムアウトすることがわかったため、Alibaba Clou...