外部ネットワーク環境なしでCentOS 7にMySQL 5.7.18をインストール


状況説明
必要に応じて、CentOSシステムを搭載したテストサーバにMySQLをインストールする必要があります.このサーバには他の重要なテストデータが格納されているため、外部ネットワークに接続できません.これまではMySQLyumコマンドでワンタッチで取り付けられていたので、手動で取り付けるのは面倒でした.ここでは、インストール中に発生した問題を記録します.
始める前にツッコミを入れなければなりません.ネット上にはいくつかのチュートリアルがあまりにもお父さんで、チュートリアルは直接コピーして貼り付けて、環境を書かず、バージョン番号の説明がありません.見ているうちに火がついた.
この文書にインストールされているMySQLは、インストールの基本的な機能です.追加の機能をインストールする必要がある場合は、公式ドキュメントを参照してください.
この文書は、サーバがネットワークに接続されていない場合のインストール操作に適用されます.
インストール
環境の説明
以下は私がこの文章を書くときに使った環境の説明です.
他のバージョンの環境では、テストを行っていないので、成功する保証はありませんが、小さなバージョン番号の違いは大丈夫です.
プロジェクト
バージョン#バージョン#
説明
オペレーティングシステム
CentOS 7.2.1511 x86_64
インストールの最小化
MySQL
Community 5.7.18-1.el7.x86_64
rpmパック
注意:cat /etc/redhat-releaseコマンドを使用して、自分がインストールしたCentOSの具体的なバージョンを特定できます.
準備作業
  • MySQLのインストールパッケージをダウンロードします.ここでは捜狐のミラーステーションを使用してダウンロードすることをお勧めします.MySQLの公式サイトからダウンロードする速度が本当に感動的なので、ミラーアドレスは対応するバージョン番号を選択してダウンロードすればいいです.私がここで使用しているrpmパッケージは以下の4つです.
  • mysql-community-client-5.7.18-1.el7.x86_64.rpm
  • mysql-community-common-5.7.18-1.el7.x86_64.rpm
  • mysql-community-libs-5.7.18-1.el7.x86_64.rpm
  • mysql-community-server-5.7.18-1.el7.x86_64.rpm

  • 以上の4つのrpmパッケージが必要で、他の機能が必要であれば、自分でダウンロードすることができます.現在のバージョンを例にとると、rpmパケットをすべて含むファイルはmysql-5.7.18-1.el7.x86_64.rpm-bundle.tar である.
  • numactlパッケージをダウンロード:
  • numactl-2.0.9-6.el7_2.x86_64.rpm
  • numactl-devel-2.0.9-6.el7_2.x86_64.rpm
  • numactl-libs-2.0.9-6.el7_2.x86_64.rpm

  • 追加のサポートをダウンロードします.
  • perl-Data-Dumper-2.145-3.el7.x86_64.rpm
  • libaio-0.3.109-13.el7.x86_64.rpm

  • 以上のパッケージは後で使うので、事前に準備してください.このパッケージはネット上で直接検索すればダウンロードできます.ここではダウンロードアドレスダウンロードアドレスを提供し、検索ボックスで直接検索すればいいです.ダウンロード時にバージョン番号とビット数(64ビット)を見てください.
  • ダウンロードしたパッケージをサーバに一括してアップロードし、インストールの準備をします.

  • インストール
    以下はただ私のインストールの順序で、実はこれらのパッケージのインストールの順序はあまり明確な要求がなくて、必ずしも以下の順序でインストールする必要はありませんが、しかしいくつかの関連する依存の問題があって、もし依存の関連する誤りを投げ出したら、上の対応する依存を取り付けてもう一度試してみるだけでいいです.
  • 取付libaio-0.3.109-13.el7.x86_64.rpm
    rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
  • インストールperl-Data-Dumper-2.145-3.el7.x86_64.rpm
    rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
    以上の2つのインストール時に依存する問題はありません.実際のインストール時に発生した場合は、関連するヒントを見て、対応するパッケージをダウンロードしてインストールすればいいです.
  • インストールnumactl関連
    rpm -ivh numactl*
    このパッケージをインストールしないと、次のエラーが発生します.
    error: Failed dependencies:libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64
  • mysqlを直接インストールすると、異常が発生します.
    warning: mysql-community-libs-5.7.18-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.18-1.el7.x86_64 mariadb-libs is obsoleted by mysql-community-libs-5.7.18-1.el7.x86_64

  • 1行目はまだ分かりますが、依存問題で、2行目の「mariadb-libsが廃棄された」のは何ですか?廃棄されたのに、なぜ新しいヒントを提供しないのか、このような弱いヒントが現れなければならないのだろうか.検索してみると、CentOS 7にはすでにmariadbがあり、MySQLmariadbと衝突していることが分かった.そのため、システムが付属しているmariadbをアンインストールし、mysqlが付属しているmariadbを使用する必要があります.
    まず、システムインストールのバージョンrpm -qa | grep mariadbを確認し、その後、アンインストールを行います.アンインストール中にアンインストールできないことを示すメッセージが表示されます.他のソフトウェアがこのパッケージに依存しているため、--nodepsパラメータを追加して強制的にアンインストールします.
    rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64

    上記のmariadb-libs-5.5.37-1.el7_0.x86_64は、rpm -qa | grep mariadbで検索した結果です.バージョンによって異なる場合があります.
  • この問題を解決すればmysqlをインストールできます.rpm -ivh mysql-community-*でいいです.

  • 開始service mysqld startコマンドを使用してmysqlインスタンスを起動し、検証のためにservice mysqld statusを使用して検証します.出力結果は次のとおりです.
    Redirecting to/bin/systemctl status mysqld.service● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2017-07-03 15:39:02 CST; 5s ago
    Docs: man:mysqld(8)
          http://dev.mysql.com/doc/refman/en/using-systemd.html

    Process: 28054 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 27978 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 28056 (mysqld) CGroup:/system.slice/mysqld.service
          └─28056 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

    Jul 03 15:38:57 nodemaster systemd[1]: Starting MySQL Server...Jul 03 15:39:02 nodemaster systemd[1]: Started MySQL Server.
    ログインmysql -u rootを使用すると、/var/log/mysqld.logファイルに格納されたパスワードを入力するよう求められます.システムが自動的に生成します.cat /var/log/mysqld.log | grep passwordコマンドを使用してパスワードを探し出し、記入してログインし、ログインしてからパスワードの変更などの操作を行うことができます.これらの操作は公式ドキュメントに詳細な説明があり、自分で見ることができます.
    の最後の部分
    以上の内容に不適切な点があれば、私は最初の時間に心を込めて修正します.