ホームページ データベース mysql チュートリアル serviceコマンドを使ったmysqlの起動と停止方法の紹介

serviceコマンドを使ったmysqlの起動と停止方法の紹介

Mar 22, 2019 am 11:26 AM
Linuxの運用と保守 mysql pid service ログ

この記事では、service コマンドを使用して mysql を起動および停止する方法を紹介します。一定の参考値があります。必要な友人は参考にしてください。お役に立てれば幸いです。

mysql をインストールした後、毎回起動したり停止したりするのは非常に面倒で、忘れずにネットで検索すると、みんな Service を使ってサービスを管理していることがわかり、試してみたところ、本当にうまくいきました。誰もがこの方法で使用することをお勧めします。

mysql サービスの起動と停止

# 启动
/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/tmp/mysql.sock
# 停止
kill `cat /usr/local/mysql/var/mysqld.pid`
ログイン後にコピー

この方法で起動と停止を行うには、mysql のパスと pid の保存場所を覚えておく必要があるため、さらに面倒です。

service システムサービス管理

service コマンドは、システムサービスの開始 (start)、停止 (stop)、再起動 (restart)、状態の表示 (status) などを管理するために使用されます。 。サービス コマンド自体は、タスクを完了するためにスクリプトを簡単に呼び出すために使用されるシェル スクリプトであり、/etc/init.d/ ディレクトリ内で指定されたサービス スクリプトを検索します。

関連するコマンドは次のとおりです:

chkconfig: サービスの実行レベルの表示と設定に使用されます

ntsysv: サービスの自動開始の設定に使用されます

サービスは、指定されたサービス (System V 初期スクリプトと呼ばれる) を実行し、2 つの環境変数 LANG と TERM のみを保持し、現在のパスを / に設定します。サービス スクリプトをサービスによって管理したい場合は、少なくとも開始コマンドと停止コマンドをサポートし、スクリプトを /etc/init.d/ ディレクトリに保存する必要があります。

サービスの使用方法

## 命令格式
Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]

# 查看指定服务的命令行使用帮助
service <service>
## mysqld 举例
$ service mysqld
Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]

# 启动、停止、重启指定服务
service <service> start|stop|restart
## mysqld举例restart,即先执行stop再执行start命令
$ service mysqld restart
Shutting down MySQL..                                      [  OK  ]
Starting MySQL.                                            [  OK  ]

# 显示指定服务的状态
$ service mysqld status
MySQL running (27390)                                      [  OK  ]

# 显示所有服务的状态
service --status-all

# 查看系统服务列表,以及每个服务的运行级别
chkconfig --list

# 设置指定服务开机时是否自动启动
chkconfig <service> on|off

# 以全屏幕文本界面设置服务开机时是否自动启动
# 必须以root启动,空格切换状态,tab切换按钮,上下鼠标移动光标
ntsysv
ログイン後にコピー

mysqld の例を使用することに加えて、ホスト名、IP アドレス、およびその他の情報を変更する場合、有効にするためにネットワークを再起動する必要があることがよくあります。

service network status|restart
ログイン後にコピー

サービスを使用して mysqld サービスを管理する

基本的な知識はすでに理解しているので、変換を開始できます。まず、mysql.server を見つける必要があります。インストールディレクトリ内のファイル。

$ locate mysql.server
/usr/local/mysql/support-files/mysql.server
ログイン後にコピー

このファイルはインストール中に初期化されます。実際には、さまざまな機能を実行するためのさまざまなパラメータの入力をサポートするスクリプト ファイルです。その開始関数:

# 根据输入的命令执行不同的脚本,首先判断是否为start
case "$mode" in
  'start')
    # Start daemon

    # Safeguard (relative paths, core dumps..)
    cd $basedir

    echo $echo_n "Starting MySQL"
    # 查看该bin/mysqld_safe命令是否存在,如果不存在,就直接报错:找不到
    if test -x $bindir/mysqld_safe
    then
      # Give extra arguments to mysqld with the my.cnf file. This script
      # may be overwritten at next upgrade.
      # 直接执行mysqld_safe命令,并传入参数,然后创建pid文件
      $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

      # Make lock for RedHat / SuSE
      if test -w "$lockdir"
      then
        touch "$lock_file_path"
      fi

      exit $return_value
    else
      log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
    fi
    ;;

  'stop')
ログイン後にコピー

を表示し、それをコピーします。 /tmp/init.d/ ディレクトリ:

cp /usr/local/mysql/support-files/mysql.server /tmp/init.d/mysqld
ログイン後にコピー

この時点で、サービスを直接呼び出して開始できます:

service mysqld start
ログイン後にコピー

いくつかの問題が発生しました

上記の理論は次のとおりです。非常に簡単ですが、起動プロセス中にいくつかの問題が発生しました。問題を解決する最も簡単な方法は、Google でログ ファイルを確認することです。これら 2 つの方法により、問題をすばやく見つけて解決できます。

構成ファイルは無視されます

起動時のエラー メッセージを直接確認してください:

$ service mysqld start
Warning: World-writable config file '/etc/my.cnf' is ignored
Starting MySQL.Warning: World-writable config file '/etc/my.cnf' is ignored
ログイン後にコピー

エラーの理由を直接確認してください。これは、グローバルに書き込み可能な構成ファイルが無視されていることを示しています。 。このエラーは、設定ファイルはすべてのユーザーが変更できるため、悪意のある改ざんの可能性があるため、このファイルの設定は導入されず、無視されることを意味します。

解決策は、ユーザーおよびユーザー グループが読み取りおよび書き込み可能で、他のユーザーのみが読み取りおよび書き込みできないようにファイルを変更することです:

chmod 664 /etc/my.cnf
ログイン後にコピー

PID ファイルを作成できません

エラー メッセージを直接参照してください:

$ service mysqld start
Starting MySQL.The server quit without updating PID file (/usr/var/mysql/var/mysqld.pid).
ログイン後にコピー

エラーの理由は、PID ファイルが更新されていないために、MySQL の起動時に予期せず終了したことを示しています。

現時点では、理解できない人もいるかもしれません。問題ありません。エラー ログを直接見てみましょう:

2019-03-21 22:29:45 32896 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/usr/var/mysql/var/mysqld.pid' (Errcode: 2 - No such file or directory)
2019-03-21 22:29:45 32896 [ERROR] Can't start server: can't create PID file: No such file or directory
ログイン後にコピー

このログには、mysqld.pid ファイルを実行できないことが明確に示されています。作成されました、または権限の問題です、またはパスが存在しません。後でパスが間違って書かれていることがわかりましたので、正しいパスに変更してください。

エラー ログ パスの設定:

$ vim my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/var/mysql/var/mysqld.pid
log-error = /user/local/mysql/log/mysql.err
ログイン後にコピー

log コマンドは放棄されました

上記の問題を解決し、実行を続けましたが、同じエラー メッセージが見つかりましたが、ログ ファイルはは異なりました:

$ service mysqld start
Starting MySQL.The server quit without updating PID file (/usr/var/mysql/var/mysqld.pid).

# 日志文件
2019-03-21 22:37:33 0 [ERROR] /usr/local/mysql/bin/mysqld: ambiguous option '--log=/usr/local/mysql/log/mysql.log' (log-bin, log_slave_updates)
2019-03-21 22:37:33 0 [ERROR] Aborting
ログイン後にコピー

ログ エラー メッセージが見つかりました: 曖昧なオプション --log、これはよくわかりません。Google で検索すると理由がわかります: --log コマンドは次のように放棄されました。長い間使用されてきましたが、現在は代わりに --general-log を使用してください。 my.cnf 構成ファイルを変更するだけです:

$ vim my.cnf
[mysqld]
general-log = /user/local/mysql/log/mysql.log
ログイン後にコピー

正常に開始

上記の問題を解決した後、最終的に正常に開始できます。この時点で、簡単に開始、停止、リロードできます。 mysqld サービス: 現在:

$ service mysqld start
Starting MySQL.                                            [  OK  ]
ログイン後にコピー

要約

Service サービス管理ツールは、アプリケーションを迅速に開始および停止するのに役立ちます。 Mysql を開始するプロセスでは、ログ ファイルの表示と Google での検索をマスターすることが私たちにとって最大の助けになります。

この記事はここで終了しました。その他のエキサイティングなコンテンツについては、PHP 中国語 Web サイトの MySQL チュートリアル ビデオ 列に注目してください。

以上がserviceコマンドを使ったmysqlの起動と停止方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL:初心者向けのデータ管理の容易さ MySQL:初心者向けのデータ管理の容易さ Apr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

Navicatプレミアムの作成方法 Navicatプレミアムの作成方法 Apr 09, 2025 am 07:09 AM

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLおよびSQL:開発者にとって不可欠なスキル MySQLおよびSQL:開発者にとって不可欠なスキル Apr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

NavicatでMySQLへの新しい接続を作成する方法 NavicatでMySQLへの新しい接続を作成する方法 Apr 09, 2025 am 07:21 AM

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

SQLが行を削除した後にデータを回復する方法 SQLが行を削除した後にデータを回復する方法 Apr 09, 2025 pm 12:21 PM

データベースから直接削除された行を直接回復することは、バックアップまたはトランザクションロールバックメカニズムがない限り、通常不可能です。キーポイント:トランザクションロールバック:トランザクションがデータの回復にコミットする前にロールバックを実行します。バックアップ:データベースの定期的なバックアップを使用して、データをすばやく復元できます。データベーススナップショット:データベースの読み取り専用コピーを作成し、データが誤って削除された後にデータを復元できます。削除ステートメントを使用して注意してください:誤って削除されないように条件を慎重に確認してください。 WHERE句を使用します:削除するデータを明示的に指定します。テスト環境を使用:削除操作を実行する前にテストします。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

See all articles