web-dev-qa-db-ja.com

mysqld_safeのバージョンはmysqldと異なりますか?

Mysqldソケットのバージョンがmysqldサーバーと異なるのは問題ですか?起動時にmysqldログでこれに気付きました

120420 19:30:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120420 19:30:06  InnoDB: Initializing buffer pool, size = 8.0M
120420 19:30:06  InnoDB: Completed initialization of buffer pool
120420 19:30:06  InnoDB: Started; log sequence number 0 44233
120420 19:30:06 [Note] Event Scheduler: Loaded 0 events
120420 19:30:06 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.61'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution

しかし、変数を表示すると、これが表示されます

「%version%」のような変数を表示します。

+-------------------------+-------------------------------------------+
| Variable_name           | Value                                     |
+-------------------------+-------------------------------------------+
| innodb_version          | 5.5.30                                    |
| protocol_version        | 10                                        |
| slave_type_conversions  |                                           |
| version                 | 5.5.30-cll                                |
| version_comment         | MySQL Community Server (GPL) by Atomicorp |
| version_compile_machine | x86_64                                    |
| version_compile_os      | Linux                                     |
+-------------------------+-------------------------------------------+
7 rows in set (0.00 sec)

私が実行したゴリマーの質問に基づいて

ps aux

そして私はこれを見ます

mysql 633 31.4 33.5 11942788 5452172? SNl 08:18 101:31/usr/libexec/mysqld --basedir =/usr --datadir =/var/lib/mysql --plugin-dir =/usr/lib64/mysql/plugin --user = mysql- log-error =/var/lib/mysql/Host.reviewcritical.com.err --open-files-limit = 4096 --pid-file =/var/run/mysqld/mysqld.pid --socket =/var/lib/mysql/mysql.sock --port = 3306

ルート32674 0.0 0.0 108292 1576? SN 08:18 0:00/bin/sh/usr/bin/mysqld_safe --datadir =/var/lib/mysql --socket =/var/lib/mysql/mysql.sock --pid-file =/var/run/mysqld/mysqld.pid --basedir =/usr --user = mysql

2
giorgio79

ご存じのとおり、mysqld_safeとmysqldは非常に異なります

mysqld :データベースサーバーインスタンスデーモン

mysqld_safe :mysqldが実行する環境を調査および設定する制御プログラム。 mysqld実行可能ファイルは、実際にはループで起動されます。 mysqldが終了すると、mysqld_safeプログラムは返された結果を調べて、

  • mysqldは正常に終了し(意図的なシャットダウン)、mysqld_safeを残します
  • mysqldが異常終了した(mysqldのクラッシュまたは強制終了-9)
    • ループバック、mysqldは再試行に失敗し、mysqld_safeを残す
    • ループバック、mysqldが起動し、mysqld_safeループに留まる

Mysqldとmysqld_safeに同じバージョンのMySQLを使用することが重要なのはなぜですか?

このように説明します。PerconaServerは、mysqld_safeにOSを操作するための追加機能を備えている場合があります。たとえば、numactl --interleave=all Perconaサーバーmysqld_safe内。その行がそこになかった場合、Percona Serverのmysqldがメモリとスワッピングの問題に遭遇する可能性があります。

同じシナリオがOracleのmysqldとmysqld_safeの場合にも当てはまる可能性があります。 mysqld_safeが古い場合、削除されるメジャーリリースから別のメジャーリリースへの改善がある可能性があります。

古いmysqld_safeと新しいmysqld(またはその逆)を使用する可能性を探るのではなく、人生をシンプルにして、MySQL 5.5.30を最初から再インストールしてください。

その前に、実行してください

updatedb
locate mysqld_safe

linuxでは、2つ残っているかどうかを確認します。ある場合は、パスをまっすぐにします。そうでない場合は、MySQL 5.5.30を再インストールする必要があります。

4
RolandoMySQLDBA