MySQL をコンパイルして CentOS にインストールする

王林
リリース: 2023-05-23 10:18:37
オリジナル
574 人が閲覧しました

CentOS MySQL のコンパイルとインストール

MySQL は、人気のあるリレーショナル データベース管理システムです。 Linux サーバーへの MySQL のインストールと構成は、Web 開発と運用に必要な手順の 1 つです。多くの Linux ディストリビューションにはプリコンパイルされたバージョンの MySQL が含まれていますが、この記事ではソース コードのコンパイルを使用して MySQL をインストールする方法について説明します。

この記事では、最新バージョンの MySQL 8.0.27 を CentOS 7 にインストールする方法を説明します。始める前に、CentOS サーバーに次のツールがインストールされていることを確認してください:

  • CentOS 7 サーバー
  • A sudo 非 root ユーザー
  • gcc コンパイラーmake コマンド
  • wget と tar コマンド
  1. MySQL のソース コードをダウンロード

MySQL のソース コードをダウンロードするには、次の場所に移動してください。 MySQL 公式 Web サイトにアクセスし、ダウンロード ページから最新バージョンのソース コード ファイルを入手します。あるいは、次のコマンドを使用して、CentOS サーバー上の wget コマンドを使用して MySQL をダウンロードすることもできます。

$ sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.27.tar.gz
ログイン後にコピー

これにより、MySQL 8.0.27 ソース コード ファイルが CentOS サーバーの現在のディレクトリにダウンロードされます。

  1. MySQL ソース コードを解凍します。

次のコマンドを使用して、ダウンロードした MySQL 8.0.27 ソース コードを解凍します。

$ sudo tar xf mysql-8.0.27.tar.gz
ログイン後にコピー

このコマンドは、 MySQL ソース コードを解凍します。 ファイルを現在のディレクトリに解凍します。

  1. 依存関係のインストール

次のコマンドを使用して、必要な依存関係を CentOS サーバーにインストールします:

$ sudo yum install -y libaio-devel openssl-devel
ログイン後にコピー
  1. MySQL をコンパイルしてインストールします

MySQL をコンパイルしてインストールする手順は次のとおりです:

$ cd mysql-8.0.27
$ sudo groupadd mysql
$ sudo useradd -r -g mysql -s /bin/false mysql
$ sudo cmake . -DMYSQL_DATADIR=/var/lib/mysql 
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DDEFAULT_CHARSET=utf8mb4 
-DDEFAULT_COLLATION=utf8mb4_unicode_ci 
-DWITH_BOOST=/usr/local/boost 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PARTITION_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 
-DENABLED_LOCAL_INFILE=1 
-DENABLE_DOWNLOADS=1 
-DDOWNLOAD_BOOST=1 
-DWITH_SSL=system 
-DWITH_ZLIB=bundled 
-DENABLED_LOCAL_INFILE=1 
-DENABLE_DTRACE=0 
-DWITH_DEBUG=0
$ sudo make
$ sudo make install
ログイン後にコピー

これらのパラメータの意味は次のとおりです:

  • MYSQL_DATADIR=/var/lib/mysql : MySQL データ ディレクトリを指定します。
  • CMAKE_INSTALL_PREFIX=/usr/local/mysql: MySQL のインストールディレクトリを指定します。
  • DEFAULT_CHARSET=utf8mb4 および DEFAULT_COLLATION=utf8mb4_unicode_ci: UTF-8 エンコードを使用します。
  • WITH_BOOST=/usr/local/boost: Boost ライブラリを使用します。
  • WITH_INNOBASE_STORAGE_ENGINE=1、WITH_ARCHIVE_STORAGE_ENGINE=1、WITH_BLACKHOLE_STORAGE_ENGINE=1、WITH_PARTITION_STORAGE_ENGINE=1、WITH_FEDERATED_STORAGE_ENGINE=1: 異なるストレージ エンジンを使用します。
  • ENABLE_DOWNLOADS=1 および DOWNLOAD_BOOST=1: MySQL 公式 Web サイトから Boost ライブラリをダウンロードします。
  • WITH_SSL=system および WITH_ZLIB=bundled: システムの OpenSSL および MySQL の組み込み Zlib ライブラリのみを使用します。
  • ENABLED_LOCAL_INFILE=1: 「LOAD DATA LOCAL INFILE」ステートメントの使用を許可します。
  • ENABLE_DTRACE=0: DTrace 機能を無効にします。
  • WITH_DEBUG=0: デバッグ情報を無効にします。
  1. MySQL の構成

MySQL 構成ファイルを作成し、次のコマンドを使用してシステム ログを有効にします:

$ sudo cp support-files/mysql.server /etc/init.d/mysql
$ sudo chmod +x /etc/init.d/mysql
$ sudo touch /var/log/mysql/mysqld.log
$ sudo chown -R mysql:mysql /usr/local/mysql
$ sudo chown -R mysql:mysql /var/log/mysql
$ sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ログイン後にコピー

次に、/etc/ を編集します。 my.cnf ファイルに次の内容を追加します:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
ログイン後にコピー
  1. MySQL を初期化して管理者パスワードを設定します

次のコマンドを使用して MySQL を初期化し、管理者パスワードを設定します:

$ cd /usr/local/mysql/bin
$ sudo ./mysqld --initialize-insecure --user=mysql
$ sudo chown -R mysql:mysql /var/lib/mysql
$ sudo systemctl start mysql
$ sudo /usr/local/mysql/bin/mysql_secure_installation
ログイン後にコピー

--initialize-insecure: MySQL を初期化し、暗号化されていない root パスワードを許可します。

--user=mysql: mysql ユーザーとして MySQL を起動します。

mysql_secure_installation: MySQL セキュア インストール ウィザードを実行し、root ユーザーのパスワードを設定します。

  1. MySQL のテスト

最後に、次のコマンドを使用して MySQL が正常にインストールされているかどうかをテストし、新しく設定した管理者パスワードを使用してログインします。通常、MySQL コマンド ライン プロンプトにログインできるはずです。

概要

MySQL を CentOS 7 にコンパイルしてインストールするには、ある程度の時間と労力がかかる場合がありますが、きめ細かい制御が可能になり、パフォーマンスが向上します。これは、実稼働ワークロードに MySQL を使用する場合に最適です。この記事の手順に従うと、CentOS サーバーに MySQL を正常にインストールして構成できるはずです。

以上がMySQL をコンパイルして CentOS にインストールするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート