インストール環境: 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 イメージを構築する例
序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...
この記事では、キャンバスとjsを使用して簡単な飛行機戦争を実装する方法を参考までに紹介します。具体的...
IE には長い間問題がありました。誰もがテストを受けたとき、誰もが笑顔でしたが、それはただのニヤニヤ...
CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されますエラーメッセ...
React 16の内容です。最新技術ではありませんが、ドキュメントで調べるまであまり話題に上がらなか...
序文セキュリティ部門からSQLインジェクションやXSS攻撃の脆弱性などに関する警告メールを頻繁に受け...
この記事では主に、NUXT の validate メソッドに基づいてフォーム検証を実装する方法につい...
通常のプロジェクト開発中に、MySQL バージョンが 5.6 から 5.7 にアップグレードされた場...
目次1. クロージャとは何ですか? 2. クロージャの役割2.1) メモリ2.2) プライベート変数...
1. Docker環境を構築する1. Dockerfileを作成する Centos:latest か...
最近、CSS3に関する知識や記事をたくさん読んできましたが、CSS3はとても便利に使えると思います。...
1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...
データベースのインストール中に次のエラーが発生しました: 解決策は次のとおりです。 1. binディ...
序文Tomcat は、無数のチューニング オプションを備えた、広く使用されている Java Web ...
本文に入る前に、オーバーフローとフレックスレイアウトの使い方をいくつか紹介します。 overflow...