今日は、CentOS 6.8 サーバーに MySQL 8.0.18 をインストールする方法を記録します。さっそく、本題に入りましょう。 1. CentOS 6.8に付属するMySQLをアンインストールする まず、CentOS 6.8 サーバーに組み込まれている MySQL をアンインストールします。コマンドラインに次のコマンドを入力して、CentOS 6.8 サーバーに組み込まれている MySQL を表示します。 [root@binghe151 src]# rpm -qa | grep -i mysql mysql-libs-5.1.73-7.el6.x86_64 ご覧のとおり、CentOS 6.8 サーバーにはデフォルトで mysql-libs-5.1.73-7.el6.x86_64 がインストールされています。次に、以下に示すように、mysql-libs-5.1.73-7.el6.x86_64 をアンインストールします。 [root@binghe151 src]# rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps [root@binghe151 ソース]# 以下に示すように、CentOS 6.8 サーバーにインストールされている MySQL を再度確認します。 [root@binghe151 src]# rpm -qa | grep -i mysql [root@binghe151 ソース]# これは、CentOS 6.8 サーバーにインストールされた MySQL が正常にアンインストールされたことを示します。 2. MySQL依存環境をインストールする MySQL を正式にインストールする前に、まず以下に示すように、MySQL が依存する基本環境をインストールする必要があります。 yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype* make gcc-c++ cmake bison-devel ncurses-devel bison perl perl-devel perl perl-devel net-tools* numactl* 3. MySQLユーザーを追加する mysql ユーザーを追加するには、コマンド ラインで次のコマンドを実行します。 グループ追加mysql ユーザー追加 -g mysql mysql 4. MySQL RPMインストールパッケージをダウンロードしてインストールする まず、CentOS 6.8 サーバーのコマンドラインで次のコマンドを実行して、MySQL 8.0.18 の RPM インストール パッケージをダウンロードします。 https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-1.el6.x86_64.rpm-bundle.tar をダウンロードします。 次に、ダウンロードしたMySQL 8.0.18のRPMインストールパッケージを確認します。 [root@binghe151 src]# ll 合計 744876 -rw-r--r--。1 ルート ルート 762746880 11月18日 14:32 mysql-8.0.18-1.el6.x86_64.rpm-bundle.tar 次に、ダウンロードしたインストール パッケージを以下のように解凍します。 [root@binghe151 src]# tar xvf mysql-8.0.18-1.el6.x86_64.rpm-bundle.tar mysql-コミュニティクライアント-8.0.18-1.el6.x86_64.rpm mysql-コミュニティテスト-8.0.18-1.el6.x86_64.rpm mysql-コミュニティサーバー-8.0.18-1.el6.x86_64.rpm mysql-コミュニティ-ライブラリ-compat-8.0.18-1.el6.x86_64.rpm mysql-コミュニティ-共通-8.0.18-1.el6.x86_64.rpm mysql-コミュニティ開発-8.0.18-1.el6.x86_64.rpm mysql-コミュニティライブラリ-8.0.18-1.el6.x86_64.rpm 次に、順番にインストールします mysql-コミュニティ-共通-8.0.18-1.el6.x86_64.rpm mysql-コミュニティライブラリ-8.0.18-1.el6.x86_64.rpm mysql-コミュニティクライアント-8.0.18-1.el6.x86_64.rpm mysql-コミュニティサーバー-8.0.18-1.el6.x86_64.rpm インストール中は、上記の順序に厳密に従う必要があります。 まず、以下に示すように、 [root@binghe151 src]# rpm -ivh mysql-community-common-8.0.18-1.el6.x86_64.rpm 警告: mysql-community-common-8.0.18-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY 準備中... ################################################ [100%] 1:mysql-community-common ##################################################### [100%] 次に、以下に示すように、mysql-community-libs-8.0.18-1.el6.x86_64.rpm をインストールします。 [root@binghe151 src]# rpm -ivh mysql-community-libs-8.0.18-1.el6.x86_64.rpm 警告: mysql-community-libs-8.0.18-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY 準備中... ################################################ [100%] 1:mysql-community-libs ##################################################### [100%] 次に、以下に示すように、 [root@binghe151 src]# rpm -ivh mysql-community-client-8.0.18-1.el6.x86_64.rpm 警告: mysql-community-client-8.0.18-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY 準備中... ################################################ [100%] 1:mysql-community-client ##################################################### [100%] 最後に、以下に示すように、mysql-community-server-8.0.18-1.el6.x86_64.rpm をインストールします。 [root@binghe151 src]# rpm -ivh mysql-community-server-8.0.18-1.el6.x86_64.rpm 警告: mysql-community-server-8.0.18-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY 準備中... ################################################ [100%] 1:mysql-community-server ################################################### [100%] mysql-community-server-8.0.18-1.el6.x86_64.rpm のインストール時に、以下に示すようにエラーが発生する場合があります。 [root@binghe151 src]# rpm -ivh mysql-community-server-8.0.18-1.el6.x86_64.rpm 警告: mysql-community-server-8.0.18-1.el6.x86_64.rpm: ヘッダー V3 DSA/SHA1 署名、キー ID 5072e1f5: NOKEY エラー: 依存関係に失敗しました: mysql-community-server-8.0.18-1.el6.x86_64 には libnuma.so.1()(64 ビット) が必要です mysql-community-server-8.0.18-1.el6.x86_64 には libnuma.so.1(libnuma_1.1)(64 ビット) が必要です mysql-community-server-8.0.18-1.el6.x86_64 には libnuma.so.1(libnuma_1.2)(64 ビット) が必要です ご覧のとおり、libnuma ライブラリがありません。次のコマンドを実行して libnuma をインストールします。 コマンドを実行した後、mysql-community-server-8.0.18-1.el6.x86_64.rpm を再度インストールします。 5. MySQLデータを初期化する まず、MySQL の実行に関する公式の MySQL 制限について説明します。 MySQL 8.x では、データを初期化するには、データベース ディレクトリとファイルの所有者が mysql ログイン アカウントであることを確認する必要があります。 mysqld サービスを root として実行している場合は、--user オプションを指定して次のコマンドを実行してこれを確認する必要があります。 シェル> bin/mysqld --initialize --user=mysql シェル> bin/mysqld --initialize-insecure --user=mysql mysql アカウントとしてログインしてプログラムを実行する場合は、以下に示すように、コマンドから --user オプションを削除できます。 シェル> bin/mysqld --initialize シェル> bin/mysqld --initialize-insecure MySQL の実行に関する上記の公式 MySQL 制限を通じて、結論付けることができます。 CentOS 6.8 サーバーに root ユーザーとしてログインしている場合は、次のコマンドを実行できます。 mysqld --initialize --user=mysql mysqld --initialize-insecure --user=mysql CentOS 6.8 サーバーに mysql ユーザーとしてログインすると、次のコマンドを実行できます。 mysqld --初期化 mysqld --initialize-insecure CentOS 6.8 サーバーへのログインには root アカウントを使用するため、データベースの初期化時に以下のコマンドを実行します。 mkdir -p /usr/local/mysql chown -R mysql.mysql /usr/local/mysql mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 注: ここでは、mysqld --initialize コマンドを実行するときに MySQL インストール ディレクトリを指定しました。 MySQL のインストール プロセス中に、MySQL インストール ディレクトリを指定することをお勧めします。 /usr/local/mysql ディレクトリの下にデータ ディレクトリがある場合、初期化は失敗します。/usr/local/mysql の下にデータ ディレクトリがないことを確認する必要があります。 6. MySQLを起動する CentOS 6.8 サーバーのコマンド ラインで次のコマンドを入力して、MySQL サービスを開始します。 [root@binghe151 src]# サービス mysqld を開始 mysqld を起動しています: [ わかりました ] MySQL を起動すると、MySQL ルート アカウントの一時ログイン パスワードが生成されます。このパスワードは、/var/log/mysqld.log ファイルで確認できます。以下に示すように、vim エディターを使用して /var/log/mysqld.log ファイルを開きます。 ログファイル 2019-11-18T08:16:08.162464Z 0 [システム] [MY-013169] [サーバー] /usr/sbin/mysqld (mysqld 8.0.18) プロセス 2111 としてサーバーの初期化が進行中です 2019-11-18T08:16:12.451542Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: -8cagKkdK#5G 2019-11-18T08:17:13.269505Z 0 [システム] [MY-010116] [サーバー] /usr/sbin/mysqld (mysqld 8.0.18) がプロセス 2378 として開始されました 2019-11-18T08:17:16.568836Z 0 [警告] [MY-010068] [サーバー] CA 証明書 ca.pem は自己署名されています。 2019-11-18T08:17:16.642494Z 0 [システム] [MY-010931] [サーバー] /usr/sbin/mysqld: 接続準備完了。バージョン: '8.0.18' ソケット: '/var/lib/mysql/mysql.sock' ポート: 3306 MySQL コミュニティ サーバー - GPL。 2019-11-18T08:17:16.652000Z 7 [警告] [MY-013360] [サーバー] プラグイン sha256_password が報告されました: ''sha256_password' は非推奨であり、将来のリリースで削除される予定です。代わりに caching_sha2_password を使用してください。 d' 2019-11-18T08:17:16.801986Z 0 [システム] [MY-011323] [サーバー] X プラグインが接続準備完了。ソケット: '/var/run/mysqld/mysqlx.sock' バインド アドレス: '::' ポート: 33060 次のコード行を見つけます。 2019-11-18T08:16:12.451542Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: -8cagKkdK#5G MySQL の起動時に生成される一時ログイン パスワードが -8cagKkdK#5G であることがわかります。 7. MySQLにログインする 以下に示すように、一時パスワードを使用して MySQL にログインします。 [root@binghe151 src]# mysql -uroot -p-8cagKkdK#5G mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは9です サーバーバージョン: 8.0.18 Copyright (c) 2000, 2019, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 マイSQL> この時点で、MySQL コマンドラインで SQL ステートメントを実行するとエラー メッセージが表示され、以下に示すようにパスワードをリセットする必要があります。 mysql> データベースを表示します。 エラー 1820 (HY000): このステートメントを実行する前に、ALTER USER ステートメントを使用してパスワードをリセットする必要があります。 mysql> mysql を使用します。 エラー 1820 (HY000): このステートメントを実行する前に、ALTER USER ステートメントを使用してパスワードをリセットする必要があります。 マイSQL> 次に、MySQL ルート アカウントのパスワードを以下のように変更します。 mysql> ALTER USER 'root'@'localhost' が 'root' によって識別されます。 クエリは正常、影響を受けた行は 0 行 (0.03 秒) mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) 次に、MySQL コマンドラインに exit コマンドを入力して MySQL を終了します。以下に示すように、変更した root パスワードを使用して MySQL に再度ログインします。 mysql>終了 さよなら [root@binghe151 src]# mysql -uroot -proot mysql: [警告] コマンドライン インターフェイスでパスワードを使用すると安全でない可能性があります。 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは10です サーバーバージョン: 8.0.18 MySQL コミュニティサーバー - GPL Copyright (c) 2000, 2019, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 マイSQL> これは、MySQL ルート アカウントのパスワードが正常に変更されたことを示します。 次に、以下に示すように、MySQL コマンドラインで SQL ステートメントを再度実行します。 mysql> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | |システム| +--------------------+ セット4行(0.36秒) mysql> USE mysql; テーブル名と列名の補完のためのテーブル情報の読み取り -Aでこの機能をオフにすると起動が速くなります。 データベースが変更されました マイSQL> MySQL ルート アカウントのパスワードを変更すると、MySQL コマンド ラインで SQL ステートメントを正しく実行できることがわかります。 8. rpmを使用してMySQLのデフォルトディレクトリをインストールする 1. データベースディレクトリ
2. 設定ファイル
3. 関連コマンド
4. 起動スクリプト
9. my.cnfファイルを設定する MySQL 8.0 にはデフォルトで my.cnf がありません。/etc ディレクトリに my.cnf ファイルを手動で作成し、以下のように MySQL ディレクトリを指定するコマンドでデータを初期化することができます。 mkdir -p /usr/local/mysql chown -R mysql.mysql /usr/local/mysql mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 次に、my.cnf ファイルを以下のように設定します。 [クライアント] ポート = 3306 #実際の状況に応じて mysql.sock 設定を調整します socket = /tmp/mysql.sock [mysqld] #MySQLサービスの一意のID 各MySQLサービスIDは一意である必要があります server-id = 1 #デフォルトのサービスポート番号は3306です ポート = 3306 #mysql インストール ルート ディレクトリ basedir = /usr/local/mysql #mysql データファイルの場所 datadir = /usr/local/mysql/data #pid pid ファイル = /usr/local/mysql/mysql.pid #ソケットファイルが配置されているディレクトリを設定します socket = /tmp/mysql.sock #一時ディレクトリを設定する tmpdir = /tmp # ユーザー user = mysql # IPネットワークセグメントへのアクセスを許可するbind-address = 0.0.0.0 # パスワードログインをスキップ#skip-grant-tables #主にMyISAMストレージエンジンに使用されます。複数のサーバーが1つのデータベースに接続されている場合は、次の内容をコメントアウトすることをお勧めします skip-external-locking #クライアントログインの確認にはホスト名ではなくIPアドレスのみを使用します skip_name_resolve = 1 #トランザクション分離レベル、デフォルトは繰り返し読み取り、MySQL のデフォルトの繰り返し読み取りレベル (このレベルでは、パラメータにギャップ ロックが多く存在し、パフォーマンスに影響する可能性があります) transaction_isolation = READ-COMMITTED #データベースのデフォルトの文字セット、主流の文字セットはいくつかの特別な絵文字をサポートしています(特別な絵文字は4バイトを占有します) 文字セットサーバー = utf8mb4 #データベースの文字セットはいくつかのソートルールに対応しています。character-set-server collation-server = utf8mb4_general_ci に対応している必要があることに注意してください。 #文字化けを防ぐためにクライアントがmysqlに接続するときに文字セットを設定します init_connect='SET NAMES utf8mb4' #SQL文の大文字と小文字を区別するかどうか、1は区別しないlower_case_table_names = 1 #最大接続数 max_connections = 400 #接続エラーの最大数 max_connect_errors = 1000 #TIMESTAMP NOT NULLが明示的に宣言されていない場合、NULL値が許可されます。explicit_defaults_for_timestamp = true #SQLデータパケットサイズ。BLOBオブジェクトがある場合は1Gに変更することをお勧めします。 最大許容パケット = 128M #MySQL 接続は、一定時間 (秒単位) アイドル状態が続くと強制的に閉じられます #MySQL のデフォルトの wait_timeout 値は 8 時間であり、有効にするには interactive_timeout パラメータを同時に設定する必要があります interactive_timeout = 1800 待機タイムアウト = 1800 #内部メモリ一時テーブルの最大値は128Mに設定されています。 #たとえば、大量のデータをグループ化したり順序付けたりするときに一時テーブルが使用されることがあります。 #この値を超えると、テーブルはディスクに書き込まれ、システム IO の負荷が増加します。tmp_table_size = 134217728 最大ヒープテーブルサイズ = 134217728 #MySQL のキャッシュクエリ結果セット機能を無効にします #後でビジネス状況のテストに基づいて有効にするかどうかを決定します #ほとんどの場合、次の2つの項目をオフにします query_cache_size = 0 クエリキャッシュタイプ = 0 #データベースエラーログファイル log_error = error.log #遅いクエリのSQLログ設定 slow_query_log = 1 slow_query_log_file = slow.log #インデックスを使用しないSQLをチェックする ログクエリがインデックスを使用していない = 1 #log_queries_not_using_indexes をオンにすると、遅い SQL の頻度と 1 分あたりのレコード数が記録されます log_throttle_queries_not_using_indexes = 5 #スレーブとして使用する場合に有効です。スレーブ レプリケーション内の遅い SQL ステートメントも記録されます。log_slow_slave_statements = 1 #スロークエリが実行される秒数。記録されるにはこの値に達する必要があります long_query_time = 8 #遅いクエリとしてマークするには、取得される行数がこの値に達する必要があります min_examined_row_limit = 100 #mysql binlog ログファイルの有効期限。有効期限が切れると自動的に削除されます。expire_logs_days = 5 要約する 上記は、編集者が紹介した CentOS6.8 に MySQL8.0.18 をインストールするチュートリアルです (RPM 方式)。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます! 以下もご興味があるかもしれません:
|
<<: Vue+js はビデオのフェードインとフェードアウト効果を実現します
目次ポッドを作成するには? kubectl ツールポッドを作成するには?前回の記事では、コンテナとポ...
1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...
MySQL で group by を使用すると常にエラー 1055 が発生するため、原因を確認する...
成果を達成する実装コード <h1>123WORDPRESS.COM</h1>...
前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...
制約制約によりデータの整合性と一貫性が確保される制約はテーブルレベルの制約と列レベルの制約に分けられ...
最近、CSS 関連の知識ポイントをいくつか見直し、CSS における典型的なマージンの重なりの問題を整...
目次1. 基本概念1.1 2種類のピクセル1.2 3つのビューポート2. ビューポート設定3. 1回...
コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...
LinuxでのMySQL5.7 rpmのインストール方法を参考までに記録します。具体的な内容は以下の...
この記事では、画像フォロー効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具...
大量のデータを扱うシステムの中には、クエリ効率の低さやデータの保存時間の長さといったデータベースの問...
適切に機能するテーブル プロパティ設定:コードをコピーコードは次のとおりです。 <テーブル セ...
1. KVM の概要カーネルベースの仮想マシンの略称は、Linux 2.6.20 以降のすべての主要...
IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...