1. 前提条件 何度かインストールしているので、エラーについてはこれ以上説明しません。ちょっとわかりにくいですね! ! !関連する依存関係やエラーを事前にその場で解決します。 1. 必要なソースコードパッケージ mysql-8.0.19.tar.gz boost_1_70_0.tar.gz //mysql-8 に必要な boost バージョンをインストールします rpcsvc-proto-1.4.tar.gz //後でエラーが発生するために必要なソース コード パッケージ mysql-8.0.19 ダウンロード アドレス: http://mirrors.sohu.com/mysql/ boost_1_70_0 ダウンロードアドレス: https://dl.bintray.com/boostorg/release/1.70.0/source/ rpcsvc-proto-1.4 ダウンロード アドレス: https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/ 2. 依存関係を解決する [14:41:21 root@wangzhike ~]#yum install -y cmake ncurses-devel 3. 保管場所 ソフトウェア ソース コード パッケージの保存場所: /usr/local/src 2. mysql-8.0.19をコンパイルしてインストールする 1. ソースコードパッケージをアップロードする ブースト_1_70_0.tar.gz mysql-8.0.19.tar.gz rpcsvc-proto-1.4.tar.gz 2. rpcsvc-proto-1.4を解く 1) 減圧 [17:05:14 root@wangzhike software]#tar -zxf rpcsvc-proto-1.4.tar.gz -C /usr/local/src/ 2) ワンステップインストール [17:09:48 root@wangzhike rpcsvc-proto-1.4]#./configure && make && make install 3. boost_1_70_0を解く [17:13:48 root@wangzhike~]# mkdir -p /usr/local/boost [17:14:05 root@wangzhike~]# cd /usr/local/src [17:15:02 root@wangzhike src]#cp /software/boost_1_70_0.tar.gz /usr/local/boost/ [17:26:22 root@wangzhike boost]#tar xf boost_1_70_0.tar.gz //// /usr/local/src/ ストレージディレクトリにのみアップロードし、現在の boost ディレクトリに解凍します 4. MySQLユーザーとグループを作成する [17:27:46 root@wangzhike ~]#groupadd mysql [17:28:10 root@wangzhike ~]#useradd -g mysql mysql -s /bin/false ####ユーザー mysql を作成し、mysql グループに追加します。mysql ユーザーがシステムに直接ログインすることは許可しないでください [17:28:11 root@wangzhike ~]#mkdir -p /data/mysql ####MySQLデータベースストレージディレクトリを作成します[17:29:13 root@wangzhike ~]#chown -R mysql:mysql /data/mysql ####MySQLデータベースを保存するディレクトリの権限を設定します[17:29:31 root@wangzhike ~]#mkdir -p /usr/local/mysql ####MySQLインストールディレクトリを作成する 5. mysql-8.0.19をインストールする 1) 減圧 [17:43:24 root@wangzhike software]#tar -zxf mysql-8.0.19.tar.gz -C /usr/local/src/ [17:43:47 root@wangzhike software]#cd /usr/local/src/ [17:43:53 root@wangzhike src]#cd mysql-8.0.19/ 2) インストール [17:47:01 root@wangzhike mysql-8.0.19]#cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DINSTALL_DATADIR=/data/mysql -DMYSQL_USER=mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DFORCE_INSOURCE_BUILD=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DEXTRA_CHARSETS=すべて\ -DWITH_BOOST=/usr/local/boost 次のような場合は問題はありません
rpc.hに関する次のエラーが発生した場合 解決: [17:45:47 root@wangzhike mysql-8.0.19]#find / -name rpc.h /usr/local/src/mysql-8.0.19/extra/libevent/include/event2/rpc.h /usr/local/src/mysql-8.0.19/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/rpc/rpc.h
次のように
3) 作成してインストールする
待って、待って、待って 次のエラーが報告された場合は、メモリが不足しており、パーティションを作成する必要があることを意味します。 +: 致命的なエラー: シグナルが強制終了され、プログラム cc1plus が終了しました コンパイルが終了しました。 make[2]: *** [sql/CMakeFiles/sql_gis.dir/build.make:154: sql/CMakeFiles/sql_gis.dir/gis/distance_functor.cc.o] エラー1 make[2]: *** 未完了のジョブを待機しています.... make[1]: *** [CMakeFiles/Makefile2:11144: sql/CMakeFiles/sql_gis.dir/all] エラー2 make: *** [Makefile:163: all] エラー 2 パーティションを作成します。 [19:58:37 root@wangzhike mysql-8.0.19]#dd if=/dev/zero of=/swapfile bs=1k count=2048000 2048000+0 件のレコード 2048000+0 レコードが出力されました 2097152000 バイト (2.1 GB、2.0 GiB) をコピーしました。6.07651 秒、345 MB/秒 ####追加する 2G SWAP ファイル ブロックを取得します [20:10:02 root@wangzhike mysql-8.0.19]#mkswap /swapfile mkswap: /swapfile: 安全でない権限 0644、0600 が推奨されます。 スワップスペース バージョン 1 を設定しています。サイズ = 2 GiB (2097147904 バイト) ラベルなし、UUID=18a4bbb3-75d1-411b-ac0c-c87c63547509 ####SWAPファイルを作成[20:10:07 root@wangzhike mysql-8.0.19]#swapon /swapfile swapon: /swapfile: 安全でない権限 0644、0600 が推奨されます。 ####SWAPファイルを有効化[20:10:12 root@wangzhike mysql-8.0.19]#swapon -s ファイル名 タイプ サイズ 使用 優先度 /dev/sda2 パーティション 2144252 137300 -2 /swapfile ファイル 2047996 0 -3 #####SWAP情報が正しいか確認する[20:10:19 root@wangzhike mysql-8.0.19]#echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab ####システム起動時に自動的に開始するようにfstabファイルに追加します make -j 3 && make installを再実行すると、次の画面が表示され、エラーは報告されません。 「バッシュ」 -- インストール中: /usr/local/mysql/man/man1/comp_err.1 -- インストール中: /usr/local/mysql/man/man1/ibd2sdi.1 -- インストール中: /usr/local/mysql/man/man1/innochecksum.1 -- インストール中: /usr/local/mysql/man/man1/lz4_decompress.1 -- インストール中: /usr/local/mysql/man/man1/my_print_defaults.1 -- インストール中: /usr/local/mysql/man/man1/myisam_ftdump.1 -- インストール中: /usr/local/mysql/man/man1/myisamchk.1 -- インストール中: /usr/local/mysql/man/man1/myisamlog.1 -- インストール中: /usr/local/mysql/man/man1/myisampack.1 -- インストール中: /usr/local/mysql/man/man1/mysql.1 -- インストール中: /usr/local/mysql/man/man1/mysql.server.1 -- インストール中: /usr/local/mysql/man/man1/mysql_config.1 -- インストール中: /usr/local/mysql/man/man1/mysql_config_editor.1 -- インストール中: /usr/local/mysql/man/man1/mysql_secure_installation.1 -- インストール中: /usr/local/mysql/man/man1/mysql_ssl_rsa_setup.1 -- インストール中: /usr/local/mysql/man/man1/mysql_tzinfo_to_sql.1 -- インストール中: /usr/local/mysql/man/man1/mysql_upgrade.1 -- インストール中: /usr/local/mysql/man/man1/mysqladmin.1 -- インストール中: /usr/local/mysql/man/man1/mysqlbinlog.1 -- インストール中: /usr/local/mysql/man/man1/mysqlcheck.1 -- インストール中: /usr/local/mysql/man/man1/mysqld_multi.1 -- インストール中: /usr/local/mysql/man/man1/mysqld_safe.1 -- インストール中: /usr/local/mysql/man/man1/mysqldump.1 -- インストール中: /usr/local/mysql/man/man1/mysqldumpslow.1 -- インストール中: /usr/local/mysql/man/man1/mysqlimport.1 -- インストール中: /usr/local/mysql/man/man1/mysqlman.1 -- インストール中: /usr/local/mysql/man/man1/mysqlpump.1 -- インストール中: /usr/local/mysql/man/man1/mysqlshow.1 -- インストール中: /usr/local/mysql/man/man1/mysqlslap.1 -- インストール中: /usr/local/mysql/man/man1/perror.1 -- インストール中: /usr/local/mysql/man/man1/zlib_decompress.1 -- インストール中: /usr/local/mysql/man/man8/mysqld.8 -- インストール中: /usr/local/mysql/man/man1/mysqlrouter.1 -- インストール中: /usr/local/mysql/man/man1/mysqlrouter_passwd.1 -- インストール中: /usr/local/mysql/man/man1/mysqlrouter_plugin_info.1 3. MySQLデータベースを初期化する 1. mysqlディレクトリの権限を変更する [20:37:59 root@wangzhike mysql-8.0.19]#chown -R mysql:mysql /usr/local/mysql [20:42:07 root@wangzhike mysql-8.0.19]#chmod -R 755 /usr/local/mysql 2. MySQLを初期化する [20:45:07 root@wangzhike ~]#cd /usr/local/mysql/ [20:46:43 root@wangzhike mysql]#./bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --character-set-server=utf8 2020-04-14T12:47:13.718724Z 0 [システム] [MY-013169] [サーバー] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) プロセス 9893 としてサーバーの初期化が進行中です 2020-04-14T12:47:13.719367Z 0 [警告] [MY-013242] [サーバー] --character-set-server: 'utf8' は現在、文字セット UTF8MB3 のエイリアスですが、将来のリリースでは UTF8MB4 のエイリアスになります。明確さを保つために、UTF8MB4 の使用を検討してください。 2020-04-14T12:47:14.855541Z 5 [注記] [MY-010454] [サーバー] root@localhost の一時パスワードが生成されました: rUG-.8kdw<1f ####mysql システム データベースを生成します。 3. 設定ファイルを変更する [20:49:41 root@wangzhike mysql]#vi /usr/local/mysql/my.cnf 次のコンテンツを追加します。 [クライアント] ポート=3306 ソケット=/tmp/mysql.sock [mysqld] ポート=3306 ユーザー = mysql ソケット=/tmp/mysql.sock tmpdir = /tmp キーバッファサイズ=16M 最大許容パケット=128M デフォルト認証プラグイン=mysql_native_password オープンファイル制限 = 60000 タイムスタンプの明示的なデフォルト サーバーID = 1 文字セットサーバー = utf8 連合した 最大接続数 = 1000 最大接続エラー数 = 100000 インタラクティブタイムアウト = 86400 待機タイムアウト = 86400 同期バイナリログ=0 バックログ=100 デフォルトのストレージエンジン = InnoDB ログスレーブ更新 = 1 [mysqlダンプ] 素早い [クライアント] パスワード="123456" [mysqld-8.0] sql_mode=伝統的 [mysqladmin] 力 [mysqld] キーバッファサイズ=16M サービスmysqldを再起動 :wq!保存して終了します。service mysqld restart を書き込む必要があることに注意してください。デフォルトのパスワードは 123456 です。 その他の操作 [20:53:05 root@wangzhike mysql]#ln -s /usr/local/mysql/my.cnf /etc/my.cnf #/etcディレクトリへのソフトリンクを追加 [20:53:12 root@wangzhike mysql]#cd [20:53:13 root@wangzhike ~]#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld #システム起動時にMysqlを追加 [20:53:21 root@wangzhike ~]#chmod 755 /etc/init.d/mysqld #実行権限を追加[20:53:28 root@wangzhike ~]#chkconfig mysqld on #ブートに追加 4. ファイルを編集する [20:53:39 root@wangzhike ~]#vi /etc/rc.d/init.d/mysqld #### basedir= を見つけて /usr/local/mysql に変更します ####datadir= を見つけて /data/mysql に変更します basedir=/usr/local/mysql #MySQL プログラムのインストール パス datadir=/data/mysql #MySQl データベースの保存ディレクトリ 5. 正常に起動する [20:54:32 root@wangzhike ~]#サービスmysqldを起動します MySQL を起動しています。'/data/mysql/wangzhike.err' にログを記録しています。 . 成功!#スタートアップ成功 6. 変数を追加する [20:54:44 root@wangzhike ~]#vi /etc/profile 最後の行に export PATH=$PATH:/usr/local/mysql/bin を追加します。 [20:55:37 root@wangzhike ~]#source /etc/profile #設定をすぐに有効にする 7. ソフトリンクを追加する [20:55:44 root@wangzhike ~]#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql [20:55:57 root@wangzhike ~]#ln -s /usr/local/mysql/include/mysql /usr/include/mysql ####上記は、mysql ライブラリ ファイルをシステムのデフォルトの場所 [20:56:02 root@wangzhike ~] にリンクします。#mkdir /var/lib/mysql [20:56:14 root@wangzhike ~]#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 8. MySQLを起動する [21:40:14 root@wangzhike ~]#mysql -uroot -p123456 MySQL モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは9です サーバーバージョン: 8.0.19 ソース配布 Copyright (c) 2000, 2020, Oracle およびその関連会社。無断複写・転載を禁じます。 OracleはOracle Corporationおよびその関連会社の登録商標です。 その他の名称は各社の商標である場合があります。 所有者。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 マイSQL> これはログインが成功したことを示します。 要約する CentOS8 に LNMP 環境を導入して mysql-8.0.29 をコンパイルおよびインストールする方法についての記事はこれで終わりです。CentOS8 に LNMP 環境を導入して mysql-8.0.29 をコンパイルおよびインストールする方法についてさらに詳しく知りたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: APPログインインターフェースシミュレーション要求を実装するためのPostmanデータ暗号化と復号化
>>: MySQL マルチテーブルクエリ例の詳しい解説 [リンククエリ、サブクエリなど]
この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...
まず効果を見てみましょう: コード: 1.html <div class="user...
参考までに、ネイティブjsを使用して簡単な計算機(詳細なコメント付き)を実装します。具体的な内容は次...
方法1: MySQL では、次のコマンド ラインで MySQL サーバーを起動することにより、アクセ...
誰もがスクラッチ チケットで遊んだことがあると思います。子供の頃、ポケットにお金が入るとすぐに友達に...
1. Dockerをインストールするまず Linux 環境を開き、次のコマンドを入力してインストール...
テキストシャドウテキストシャドウ: 水平オフセット 垂直オフセット ぼかし色互換性: IE10+ &...
目次使用されるAPI簡単な例人.ts親コンポーネントサブコンポーネント効果要約する使用されるAPI ...
JSON データを美しいインデント形式で表示するには、最も単純な JSON.stringify 関...
背景まず、背景を説明します。ある制約により、当社の現在のバックアップ戦略では、1 日おきにフル バッ...
1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...
序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...
会社の開発者がテスト環境で挿入ステートメントを実行すると、正常に実行されるまでに 10 秒以上かかり...
MySQL は多くのデータ型をサポートしており、高パフォーマンスを得るには適切なデータ型を選択するこ...
プロジェクトシナリオ: Dark Horse Vueプロジェクト管理の実践、製品分類の取得、拡張バー...