インストール環境: CentOS7 64ビットMINI版 公式ソースコードのコンパイルおよびインストールドキュメント: http://dev.mysql.com/doc/refman/5.7/en/source-installation.html 1. システム設置条件 公式ドキュメント: http://dev.mysql.com/doc/refman/5.7/en/source-installation.html 1>cmake MySQL は、MySQL のコンパイル パラメータを設定するために使用されるソース コードを事前コンパイルするために、クロスプラットフォーム ツールの cmake を使用します。たとえば、インストール ディレクトリ、データ保存ディレクトリ、文字エンコード、ソート規則などです。最新バージョンをインストールするだけです。 2> 3.75を作る MySQL ソース コードは C および C++ で記述されています。Linux でソース コードをコンパイルおよびビルドするには、make を使用します。make 3.75 以上をインストールする必要があります。 3> gcc4.4.6 GCC は Linux 上の C 言語コンパイラです。MySQL ソース コードのコンパイルは完全に C および C++ で記述されています。GCC4.4.6 以上をインストールする必要があります。 4> ブースト1.59.0 MySQL ソース コードは C++ Boost ライブラリを使用するため、boost 1.59.0 以降をインストールする必要があります。 5> バイソン2.1 Linux 用 C/C++ パーサー 6> ncurses 文字端末処理ライブラリ したがって、インストールの前に、関連する依存ライブラリをインストールする必要があります。 シェル> sudo yum install -y cmake、make、gcc、gcc-c++、bison、ncurses、ncurses-devel Boost 1.59.0 のソース コードをダウンロードし、/usr/local/ ディレクトリに解凍します。 シェル> wget -O https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz シェル> tar -zxvf boost_1_59_0.tar.gz -C /usr/local/ 2. MySQLソースコードをダウンロードする githubからmysqlソースコードをダウンロードする シェル> cd /opt シェル> git clone https://github.com/mysql/mysql-server.git シェル> ls mysql-server git クライアントがインストールされていない場合は、yum install -y git を実行してインストールします。 シェル> git ブランチ -r 起源/5.5 起源/5.6 起源/5.7 origin/HEAD -> origin/5.7 オリジン/クラスター-7.2 オリジン/クラスター-7.3 オリジン/クラスター-7.4 オリジン/クラスター-7.5 現在のブランチのデフォルトはバージョン 5.7 です。他のバージョンをインストールする場合は、対応するブランチに切り替えるだけです。たとえば、バージョン 5.6 をインストールする場合は、git checkout 5.6 を実行します。ここでは、バージョン 5.7 のインストールを例に説明します。 Sohuミラーダウンロードアドレス: 3. インストール 1> MySQLユーザーを追加する シェル> cd /opt/mysql-server shell> groupadd mysql #mysql ユーザーグループを追加 shell> useradd -r -g mysql -s /bin/false mysql #mysql ユーザーを追加 2> MySQLのプリコンパイルパラメータを設定する シェル> cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DWITH_BOOST=/usr/local/boost_1_59_0 \ -DSYSCONFDIR=/etc \ -DEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DENABLED_LOCAL_INFILE=1 \ -DEXTRA_CHARSETS=すべて -DCMAKE_INSTALL_PREFIX: インストールパス プリコンパイルされた構成パラメータの詳細については、MySQL の公式ドキュメントを参照してください: http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options 3> コンパイルしてインストールする シェル> make -j `grep プロセッサ /proc/cpuinfo | wc -l` シェル>インストールする -j パラメータは、CPU コアの数に基づいてコンパイル中のスレッド数を指定し、コンパイルを高速化できます。デフォルトは 1 スレッドのコンパイルです。テストの結果、シングルコア CPU と 1G のメモリでは、コンパイルに約 1 時間かかります。 4> システムデータベースを初期化する シェル> cd /usr/local/mysql シェル> chown -R mysql:mysql 。 # 注意: MySQL 5.7.6 より前のバージョンでは、このスクリプトを実行してシステム データベースを初期化します。shell> ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 5.7.6 以降のバージョンの初期システム データベース スクリプト (この記事ではこのメソッドを使用して初期化します) シェル> ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data シェル> ./bin/mysql_ssl_rsa_setup シェル> chown -R root 。 シェル> chown -R mysqlデータ 注: --initialize パラメータを使用してシステム データベースを初期化すると、次の図の赤い円で示すように、root ユーザーの一時パスワードが ~/.mysql_secret ファイルに生成され、初期化ログに出力されます。 5. 設定ファイルとパラメータの最適化 シェル> cp サポートファイル/my-default.cnf /etc/my.cnf シェル> vim /etc/my.cnf [クライアント] ポート=3306 ソケット=/usr/local/mysql/mysql.sock [mysqld] 文字セットサーバー=utf8 照合サーバー=utf8_general_ci 外部ロックをスキップ 名前解決をスキップ ユーザー=mysql ポート=3306 ベースディレクトリ=/usr/local/mysql データディレクトリ=/usr/local/mysql/data tmpdir=/usr/local/mysql/temp # server_id = ..... ソケット=/usr/local/mysql/mysql.sock ログエラー=/usr/local/mysql/logs/mysql_error.log pidファイル=/usr/local/mysql/mysql.pid オープンファイル制限=10240 バックログ=600 最大接続数=500 最大接続エラー数=6000 待機タイムアウト=605800 #オープンテーブル=600 #テーブルキャッシュ = 650 #開かれたテーブル = 630 最大許容パケット数=32M ソートバッファサイズ=4M 結合バッファサイズ=4M スレッドキャッシュサイズ=300 クエリキャッシュタイプ=1 クエリキャッシュサイズ=256M クエリキャッシュ制限=2M クエリキャッシュ最小解像度単位=16k tmp_table_size=256M 最大ヒープテーブルサイズ=256M キーバッファサイズ=256M 読み取りバッファサイズ=1M 読み取りバッファサイズ=16M バルク挿入バッファサイズ=64M 小文字テーブル名=1 デフォルトのストレージエンジン=INNODB innodb_buffer_pool_size=2G innodb_log_buffer_size=32M innodb_log_file_size=128M innodb_flush_method=O_DIRECT ##################### スレッド同時実行数=32 長いクエリ時間=2 スロークエリログ=オン スロークエリログファイル=/usr/local/mysql/logs/mysql-slow.log [mysqlダンプ] 素早い 最大許容パケット数=32M [mysqld_safe] ログエラー=/var/log/mysqld.log pidファイル=/var/run/mysqld/mysqld.pid 6. MySQLサービスを構成する シェル> cp サポートファイル/mysql.server /etc/init.d/mysqld shell> chkconfig --add mysqld # システムサービスに追加 shell> chkconfig mysqld on # 起動時に開始 7. サービスを開始する shell> service mysqld start # MySQL サービスを起動します shell> service mysqld stop # MySQL サービスを停止します shell> service mysqld restart # MySQL サービスを再起動 8. データベースのパスワードを設定する shell> /usr/local/mysql/bin/mysql -e "grant オプションを使用して、"root" によって識別される root@'127.0.0.1' に *.* のすべての権限を付与します。" shell> /usr/local/mysql/bin/mysql -e "grant オプションを使用して、"root" で識別される root@'localhost' に *.* のすべての権限を付与します。" # リモートログインを有効にする(ホストを%に設定) /usr/local/mysql/bin/mysql -e "grant オプションを使用して、"root" で識別される root@'%' に *.* のすべての権限を付与します。" 9. MySQL環境変数を設定する シェル> vim /etc/profile シェル> PATH=/usr/local/mysql/bin:$PATH をエクスポートします シェル> ソース /etc/profile 4. その他留意事項 途中でコンパイルに失敗した場合は、cmake によって生成されたコンパイル前設定パラメータのキャッシュ ファイルと make コンパイル後に生成されたファイルを削除して、再コンパイルする必要があります。 シェル> cd /opt/mysql-server シェル> rm -f CMakeCache.txt シェル> クリーンにする 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Dockerfile を使用して nginx イメージを構築する例
ほとんどのアプリケーション シナリオでは、緊急時に備えて重要なデータをバックアップし、安全な場所に保...
序文単一障害点を解決するには、マスター/スレーブ ホット スタンバイ ソリューションを構成する必要が...
まとめインタビュー中、MySQL インデックスの問題について議論しているときに、B+ ツリー、B ツ...
次の図に示すように: 仮想マシンと Docker を使用するとき、「なぜ Docker は VM よ...
ローカル環境はWindows10+WSL2(Ubuntu)です。サーバーにDockerをインストール...
1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...
多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...
Laravel 5.4 のデフォルトの utf8mb64 文字エンコーディングをサポートするには、M...
以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...
1. データベースをインストールする1) yum -y install mysql-server (...
序文データベース操作では、同時データ読み取りの正確性を効果的に保証するために、トランザクション分離レ...
序文始める前に、ファイル属性とファイル属性を変更する方法について簡単に理解しておく必要があります。 ...
目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...
Web デザインでよく耳にするプロパティ名: content、padding、border、marg...
目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...