この記事では主に、MySQL バイナリ パッケージのインストール/起動/シャットダウンのプロセスを紹介します。 なぜバイナリインストールを選択する必要があるのかと疑問に思う人もいるかもしれません。 実は、答えはとても簡単です。公式バージョンではすべての機能が設定されており、簡単に使用できます。 公式の MySQL バージョンには、GA バージョン、DMR バージョン、RC バージョン、ベータ バージョンの 4 つがあります。一般的に言えば、本番環境またはテスト環境 GA バージョン (一般に利用可能なバージョン、バグ修正済みでテスト済み) を選択します。 ダウンロードアドレス: https://dev.mysql.com/downloads/mysql/ ダウンロードが完了したら、MD5を確認できます。以前、ここでバージョンをダウンロードしました。ここでは、このコマンド(md5sumファイル名)の使用方法を説明します。 [root@tse2 ダウンロード]# md5sum mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz d903d3dbf235b74059a4b3e216c71161 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 1. インストール前のシステム環境の検出 どのバージョンの MySQL がインストールされているかに関係なく、MySQL データベースをスムーズにインストールし、後でデータベースを適切に最適化するためには、早い段階で Linux システムの検出を実行することが非常に重要です。 1.1. selinux と iptables を無効にするには、SELINUX=disabled に設定し、サーバーを再起動して有効にする必要があります。 ここにはiptablesがありません。ファイアウォールを使用しているので、iptablesをオフにする必要はありません。 1.2. デフォルトの I/O スケジューリング システムは cfq モードです。deadline モードを使用することを強くお勧めします。 I/O スケジューリング ファイルを表示します。 [root@tse2 ダウンロード]# cat /sys/block/sda/queue/scheduler noop [締め切り] cfq 1.3. スワップパーティションの設定 swpapiness 値のサイズは、スワップ パーティションの使用方法に大きな影響を与えます。 0 と 100 という 2 つの極端な値があります。0 は、物理メモリを可能な限り最大限に使用し、次にスワップ パーティションを使用することを意味します。この動作により、システム メモリのオーバーフローと OOM エラーが発生する可能性が高く、MySQL が誤って強制終了される可能性があるため、注意して設定する必要があります。 100 は、スワップ パーティションを積極的に使用し、メモリ内のデータをスワップ パーティションにタイムリーに移動することを意味します (推奨されません)。スワップを割り当てないことをお勧めします。または、4 GB のスペースを割り当てれば十分です。 swappiness ファイルを表示するにはどうすればいいですか? [root@tse2 grub2]# cat /proc/sys/vm/swappiness [root@tse2 grub2]# sysctl -a|grep swap sysctl: キー「net.ipv6.conf.all.stable_secret」を読み取っています sysctl: キー「net.ipv6.conf.default.stable_secret」を読み取っています sysctl: キー「net.ipv6.conf.ens192.stable_secret」を読み取っています sysctl: キー「net.ipv6.conf.lo.stable_secret」を読み取っています vm.スワップ度 = 30 swappiness 値を変更するには、/etc/sysctl.conf を編集し、vm.swappiness の値を追加します。 1.4. ファイルシステムの選択 ここでは xfs ファイルシステムを使用することをお勧めします。ext4 と比較して、管理が容易で、動的な拡張をサポートし、ファイルの削除も簡単です。 1.5. オペレーティングシステムの制限 まず、現在のオペレーティング システムの制限をいくつか確認してみましょう。ulimit -a を使用して表示します。 ここで最も重要な 2 つのパラメータがマークされています。1 つはオープン ファイルと呼ばれ、もう 1 つは最大ユーザー プロセスと呼ばれます。 開いているファイルが適切に設定されておらず、現在のサーバーの接続またはテーブルが多すぎる場合は、テーブルを開いたりアクセスしたりできない可能性があります。 デフォルトでは、Linux のハンドルの最大数は 1024 です。つまり、1 つのプロセスが最大 1024 個のファイル ハンドルにアクセスできることになります。数値がデフォルト値を超えると、「開いているファイルが多すぎます」というファイル ハンドル制限エラーが発生します。 最大ユーザー プロセス パラメータの目的: 多数のインスタンスを実行しても、新しい接続を作成できず、リソースが不足していることを示す「リソースが一時的に利用できません」というエラーが報告されることがあります。 上記の 2 つのエラー状況を防ぐために、システムのソフト制限とハード制限を変更することができます。 /etc/security/limits.conf を編集し、制限に関連するコンテンツを追加します。コンテンツを変更した後は、変更を有効にするためにオペレーティング システムを再起動する必要があることに注意してください。 [root@tse2 grub2]# vim /etc/security/limits.conf * ソフト nproc 65535 * ハード nproc 65535 * ソフトノーファイル 65535 * ハードnofile 65535 1.6. numaを閉じる必要がある 簡単に言えば、NUMA 機能をオフにするとメモリをより適切に割り当てることができ、メモリを取得するためにスワップを使用する必要がなくなります。 経験豊富なシステム管理者や DBA は、スワップの使用によってデータベースのパフォーマンスが低下することがいかにひどいことかを知っているからです。 シャットダウン方法には、BIOS、オペレーティング システム、またはデータベースの起動中にシャットダウンする方法があります。 [root@tse2 bin]# numa --interleave=all /mysql/app/bin/mysqld_safe -defaults-file=/etc/my.conf & 2. MySQL 5.7バージョンのインストールプロセス オペレーティング システム環境を確認した後、MySQL のインストール フェーズに入ります。これは、「3 ステップ + 1 ステップ」のアプローチとして要約できます。 2.1. パート1 MySQL ユーザーを作成し、MySQL が配置されているユーザー グループを指定します。コマンドは次のとおりです。 [root@tse2 /]# グループ追加mysql [root@tse2 /]# useradd -g mysql mysql -s /sbin/nologin 通常、ソフトウェア パッケージのホーム ディレクトリ (basedir) は /data/downloads の下に配置します。 [root@tse2 ダウンロード]# pwd /データ/ダウンロード MySQL パッケージを解凍する必要があります。コマンドは次のとおりです。 [root@tse2 ダウンロード]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz MySQL ディレクトリを承認する必要があります: [root@tse2 ダウンロード]# chown -R mysql:mysql /mysql 2.2 パート2 MySQL データベースのデータ ディレクトリ (datadir) を作成します。/mysql/ の下に作成することもできます。 [root@tse2 ダウンロード]# mkdir -p /mysql/data データ ディレクトリも承認します。 [root@tse2 ダウンロード]# chown -R mysql:mysql /mysql/data 2.3 パートIII バイナリインストール方式なので、ここでのデータベース設定ファイルは自分で設定する必要があります。これで最後の手順は完了です。 my.cnf 構成ファイルのダウンロード アドレス: https://files.cnblogs.com/files/Sungeek/Tsemy.7z パスワード: tse 2.4. 最後のステップ mysqld コマンドはデータベースを初期化します。 [root@tse2 mysql]# /mysql/app/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/mysql/app --datadir=/mysql/data/ --user=mysql -initialize 注: 初期化プロセス中に --initialize パラメータを追加すると、一時的なデータベース初期化パスワードが生成されます。 log-error(エラーログ)に記録されます。--initialize-insecure パラメータが追加されている場合は、パスワード入力がないことを意味します。初期化パスワードを生成する方法を使用することをお勧めします。 データベースを起動するプロセス: [root@tse2 mysql]# /mysql/app/bin/mysqld_safe --defaults-file=/etc/my.cnf & データベースが正常に起動すると、データベースに入るための初期化パスワードが /mysql/logs/error.log に記録されます。 [root@tse2 ログ]# cat /mysql/logs/error.log |grep パスワード 初期化パスワードを使用してデータベースに入った後、データベースのルート パスワードを変更し、期限切れにならないように設定する必要があります。 ルートディレクトリは /mysql/app/bin/mysql です。 mysql>パスワードを '123456' に設定します。 mysql>ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; mysql>権限をフラッシュする 上記は、MySQL バージョン 5.7 のインストールと起動方法、およびシステム最適化のためのいくつかの最適化手順です。 要約する 上記は、編集者が紹介した Linux でバイナリ モードで MySQL 5.7 バージョンとシステム最適化をインストールする手順です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: ドメイン名を介してプロジェクトにアクセスするnginx + tomcatの例
<br />テーブルは XHTML では扱いにくいタグなので、このセクションで理解するだ...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
目次単一マシンの展開オンラインプルミラーを見るRabbitMQを作成して実行するMQコンテナを正常に...
この記事では、テーブルの編集操作を実現するためのjs+Htmlの具体的なコードを参考までに共有します...
1. PRIMARY KEY(主キーインデックス)を追加するmysql>ALTER TABLE...
1つ目:通常動作 選択 SUM(ddd) AS count_days、 場合 aa.days >...
これからの道のりは長く困難ですが、私は探求を続けます。また週末がやってきました。引き続き、皆さんと一...
MySQL はネストされたトランザクションをサポートしていますが、それを実行する人は多くありません....
各 Web ページには、URL () で識別されるアドレスがあります。通常、Web サイト内でリンク...
この記事は主に、nginx 高可用性クラスタの実装プロセスを紹介します。この記事のサンプルコードは非...
序文最近は、PC、iPad、携帯電話、スマートウォッチ、スマートテレビなど、さまざまなデバイスが存在...
この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...
目次環境CentOSをインストールするyum 国内ミラーソースを構成するサードパーティの依存関係をイ...
お使いのコンピュータが Mac の場合、homebrew を使用して MySQL をインストールする...
目次ファーストルックインデックスインデックスの概念インデックスファイルの構成インデックスの役割SQL...