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の使用に関する簡単な説明

ブログ    

推薦する

Linuxにおけるumaskコマンドの使用原理と計算方法の詳しい解説

目次umask umaskの使用法原理1. umask値2. ファイルディレクトリの最大権限3. 従...

Vueはシンプルなタイマーコンポーネントを実装します

プロジェクトを実行すると、リアルタイム更新、広告アニメーションの連続表示などの要件に遭遇することは避...

一般的な Linux の問題に対する解決策の概要

1. VMwareでCentos7を接続し、固定IPを設定する1) まず、仮想イメージ名を右クリック...

JavaScript のディープコピーの落とし穴

序文以前、ある会社の面接に行ったとき、面接官から「オブジェクトを深くコピーするにはどうすればよいです...

Vueはテーブルページング機能を実装します

この記事では、テーブルページング機能を実現するためのVueの具体的なコードを例として紹介します。具体...

CSSは固定比率のブロックレベルコンテナを簡単に実装できる

H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...

Linux ディスクのマウント、パーティション分割、容量拡張操作を実装する方法

基本概念操作の前に、まずいくつかの基本的な概念を理解する必要がありますディスクLinux システムで...

Linux の chown コマンドと chmod コマンドの違いの詳細な説明

Linux システムでは、chmod コマンドと chown コマンドの両方を使用して権限を設定でき...

MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法

1. インターネットで長時間検索しましたが、判定表が存在するかどうかがわからなかったので、漠然と削除...

Linux で MongoDB のリモート自動バックアップを実装する方法

序文古いプロジェクトを引き継ぐ苦労 - MongoDB クラスターの学習と構築に関する前回の記事を読...

Docker 環境で JMeter+Grafana+influxdb ビジュアル パフォーマンス監視プラットフォームを構築するチュートリアル

目次1. Dockerをインストールする2. influxDBをインストールして設定する3. Gra...

Node.js は、異なるリクエストパスに応じて異なるデータを返します。

目次1. 異なるリクエストパスに応じて異なるデータを返す方法を学びます。 2. 送信データ: データ...

MySql データベースにリモートでログインするにはどうすればよいですか?

はじめに: プロジェクトを開発するために、サーバーに MySql データベース サーバーを展開し、ロ...

HTML+CSS+JavaScript でガールフレンド版のスクラッチ カードを作成します (一度見ればすぐに覚えられます)

誰もがスクラッチ チケットで遊んだことがあると思います。子供の頃、ポケットにお金が入るとすぐに友達に...