CentOS8は、LNMP環境を展開して、mysql8.0.29チュートリアルの詳細をコンパイルおよびインストールします。

1.前提条件

何度かインストールしたので、エラーの報告をやめます。ちょっとしたブレインストーミングです。 ! !関連する依存関係とエラーをその場で事前に解決します。

1、 必要なソースコードパッケージ

mysql-8.0.19.tar.gz 
boost_1_70_0.tar.gz		//mysqlをインストールします-8必要なブーストバージョン
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
ソースコードパッケージのコンパイルとインストール場所:/ usr / local / software name

**2つ目は、mysql-8.0.19 **をコンパイルしてインストールすることです。

1、 ソースコードパッケージをアップロード

boost_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/ディレクトリを保存し、現在のブーストディレクトリに解凍します

4、 [mysql](https://cloud.tencent.com/product/cdb?from=10680)ユーザーとグループを作成します

[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=all \
- DWITH_BOOST=/usr/local/boost

以下に問題はありません

CMake Warning: Manually-specified variables were not used by the
project:
EXTRA_CHARSETS INSTALL_DATADIR MYSQL_USER WITH_EMBEDDED_SERVER

– Build files have been written to: /usr/local/src/mysql-8.0.19

rpc.hに関する次のエラーが表示された場合
Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc

解決:

[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

そして、/ usr / local / src / mysql-8.0.19 / plugin / group_replication / libmysqlgcs / src / bindings / xcom / xcom / windeps / sunrpc /の下のrpc / rpc.hを/ usr / include /にコピーします。

次のように

[17:52:57 root@wangzhike mysql-8.0.19]#cp -a /usr/local/src/mysql-8.0.19/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/rpc /usr/include/

3 )、make && install

[17:55:20 root@wangzhike mysql-8.0.19]#make -j 3 && install
//プロセスが長すぎてメモリが不足している場合、エラーが報告されます

待って待って待って

次のエラーが報告された場合は、メモリが不足しており、パーティションを作成する必要があることを意味します

+: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]:***[sql/CMakeFiles/sql_gis.dir/build.make:154: sql/CMakeFiles/sql_gis.dir/gis/distance_functor.cc.o] Error 1
make[2]:*** Waiting for unfinished jobs....
make[1]:***[CMakeFiles/Makefile2:11144: sql/CMakeFiles/sql_gis.dir/all] Error 2
make:***[Makefile:163: all] Error 2

パーティションを作成します。

[19:58:37 root@wangzhike mysql-8.0.19]#dd if=/dev/zero of=/swapfile bs=1k count=20480002048000+0 records in2048000+0 records out
2097152000 bytes(2.1 GB,2.0 GiB) copied,6.07651 s,345 MB/s
#### 追加する2GのSWAPファイルブロックを取得します
[20:10:02 root@wangzhike mysql-8.0.19]#mkswap /swapfile
mkswap:/swapfile: insecure permissions 0644,0600 suggested.
Setting up swapspace version 1, size =2GiB(2097147904 bytes)
no label, UUID=18a4bbb3-75d1-411b-ac0c-c87c63547509
#### SWAPファイルを作成する
[20:10:07 root@wangzhike mysql-8.0.19]#swapon /swapfile
swapon:/swapfile: insecure permissions 0644,0600 suggested.
#### SWAPファイルをアクティブ化する
[20:10:12 root@wangzhike mysql-8.0.19]#swapon -s
Filename        Type   Size Used Priority
/dev/sda2        partition  2144252137300-2/swapfile        file   20479960-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を再実行した後、次の画面が表示されてもエラーは発生しません。

``` bash
- - Installing:/usr/local/mysql/man/man1/comp_err.1-- Installing:/usr/local/mysql/man/man1/ibd2sdi.1-- Installing:/usr/local/mysql/man/man1/innochecksum.1-- Installing:/usr/local/mysql/man/man1/lz4_decompress.1-- Installing:/usr/local/mysql/man/man1/my_print_defaults.1-- Installing:/usr/local/mysql/man/man1/myisam_ftdump.1-- Installing:/usr/local/mysql/man/man1/myisamchk.1-- Installing:/usr/local/mysql/man/man1/myisamlog.1-- Installing:/usr/local/mysql/man/man1/myisampack.1-- Installing:/usr/local/mysql/man/man1/mysql.1-- Installing:/usr/local/mysql/man/man1/mysql.server.1-- Installing:/usr/local/mysql/man/man1/mysql_config.1-- Installing:/usr/local/mysql/man/man1/mysql_config_editor.1-- Installing:/usr/local/mysql/man/man1/mysql_secure_installation.1-- Installing:/usr/local/mysql/man/man1/mysql_ssl_rsa_setup.1-- Installing:/usr/local/mysql/man/man1/mysql_tzinfo_to_sql.1-- Installing:/usr/local/mysql/man/man1/mysql_upgrade.1-- Installing:/usr/local/mysql/man/man1/mysqladmin.1-- Installing:/usr/local/mysql/man/man1/mysqlbinlog.1-- Installing:/usr/local/mysql/man/man1/mysqlcheck.1-- Installing:/usr/local/mysql/man/man1/mysqld_multi.1-- Installing:/usr/local/mysql/man/man1/mysqld_safe.1-- Installing:/usr/local/mysql/man/man1/mysqldump.1-- Installing:/usr/local/mysql/man/man1/mysqldumpslow.1-- Installing:/usr/local/mysql/man/man1/mysqlimport.1-- Installing:/usr/local/mysql/man/man1/mysqlman.1-- Installing:/usr/local/mysql/man/man1/mysqlpump.1-- Installing:/usr/local/mysql/man/man1/mysqlshow.1-- Installing:/usr/local/mysql/man/man1/mysqlslap.1-- Installing:/usr/local/mysql/man/man1/perror.1-- Installing:/usr/local/mysql/man/man1/zlib_decompress.1-- Installing:/usr/local/mysql/man/man8/mysqld.8-- Installing:/usr/local/mysql/man/man1/mysqlrouter.1-- Installing:/usr/local/mysql/man/man1/mysqlrouter_passwd.1-- Installing:/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- 14 T12:47:13.718724Z 0[System][MY-013169][Server]/usr/local/mysql/bin/mysqld(mysqld 8.0.19) initializing of server in progress as process 98932020-04-14T12:47:13.719367Z 0[Warning][MY-013242][Server]--character-set-server:'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.2020-04-14T12:47:14.855541Z 5[Note][MY-010454][Server] A temporary password is generated for root@localhost: rUG-.8kdw<1f
#### mysqlシステムデータベースを生成します。

3、 構成ファイルを変更する
mysql 8.0.xデフォルトでは構成ファイルはありません。自分で作成します。

[20:49:41 root@wangzhike mysql]#vi /usr/local/mysql/my.cnf
次のコンテンツを追加します。
[ client]
port=3306
socket=/tmp/mysql.sock
[ mysqld]
port=3306
user = mysql
socket=/tmp/mysql.sock
tmpdir =/tmp
key_buffer_size=16M
max_allowed_packet=128M
default_authentication_plugin=mysql_native_password
open_files_limit =60000
explicit_defaults_for_timestamp
server-id =1
character-set-server = utf8
federated
max_connections =1000
max_connect_errors =100000
interactive_timeout =86400
wait_timeout =86400
sync_binlog=0
back_log=100default-storage-engine = InnoDB
log_slave_updates =1[mysqldump]
quick
[ client]
password="123456"[mysqld-8.0]
sql_mode=TRADITIONAL
[ mysqladmin]
force
[ mysqld]
key_buffer_size=16M
service mysqld restart

:Wq!保存して終了
センテンスサービスmysqldrestartを記述する必要があることに注意してください。デフォルトのパスワードは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 ~]#service mysqld start
MySQL.Loggingを「/data/mysql/wangzhike.err」に開始しています。成功!#正常に開始

6、 変数を追加

[20:54:44 root@wangzhike ~]#vi /etc/profile

最後の行にexportPATH = $ 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
#### 上記は、myslqライブラリファイルをシステムのデフォルトの場所にリンクするためのものです

[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
Welcome to the MySQL monitor. Commands end with; or \g.
Your MySQL connection id is 9
Server version:8.0.19 Source distribution

Copyright(c)2000,2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h'for help. Type '\c' to clear the current input statement.

mysql>

これは、ログインが成功したことを意味します。

Recommended Posts

CentOS8は、LNMP環境を展開して、mysql8.0.29チュートリアルの詳細をコンパイルおよびインストールします。
Centos6.5は、LNMPアーキテクチャのWeb環境をコンパイルしてインストールします
CentOSYumはMySQL5.6をコンパイルしてインストールします
CentOS7はL(A | N)MP環境をコンパイルしてインストールします
CentOS7.5ソースコードはmysql5.7.29をコンパイルしてインストールします
Centos7はMySQL8問題レコードをコンパイルしてインストールします
CentOS7.4ソースコードはMySQL8.0をコンパイルしてインストールします
Centos7インストールMysql8チュートリアル
RPMを使用してmysql8.0.11チュートリアルをインストールするLinux(CentOS7)
centos7.2.1511にjdk1.8.0_151とmysql5.6.38をインストールする方法
Centos7.2は、phpMyAdminをビルドする方法をコンパイルしてインストールします
CentOs7.3はNginx1.9.9をコンパイルしてインストールします
CentosはGitをコンパイルしてインストールします
CentosはLAMPをコンパイルしてインストールします(apache-2.4.7 + mysql-5.5.35 + php 5.5.8)+ Redis
Centos7はntp-4.2.8p11をコンパイルしてインストールします
CentOS6.9はpythonをコンパイルしてインストールします
CentOS6はpython3をコンパイルしてインストールします
LinuxcentosでLnmpシェルスクリプトをコンパイルしてインストールします
Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法
CentOS7yumはmysqlをインストールして起動します
Centos5.2でLAMPをコンパイルしてインストールします
CentOS6.xはNginxをコンパイルしてインストールします
CentOS7yumはmysqlをインストールして起動します
Centos7とcentos8はmysql5.65.78.0をインストールするのでとても簡単です
MySQL5.7をインストールするためのcentos7。* tarパッケージ
LinuxCentOS6はPytをコンパイルしてインストールします
CentOS7でlibmodbusライブラリをコンパイルしてインストールします
Centos-6.5LNMP環境のインストールと展開
Centos8でnodejsとyumをコンパイルしてインストールします
Centos8はyumを使用してrabbitmqチュートリアルをインストールします
CentOS7システムyumMySQL5.7をインストールする方法
Ubuntu環境でソースコードからxdebugをコンパイルしてインストールする方法
CentOS7.2はMysql5.7.13をインストールします
CentOS7はMySQLをインストールします
CentOSインストールmysql
CentOS7インストールmysql
CentOS7はMySQL5.6をインストールします
CentOS8はMySQL8.0をインストールします
CentOS7はmysql8をインストールします
CentOS7はMySQL8をインストールします
centos7.5インストールmysql5.7.17
CentOS7にElasticsearchをインストールして構成する方法
CentOS7にDockerをインストールして使用する方法
CentOS8にVNCをインストールして構成する方法
CentOS8にComposerをインストールして使用する方法
CentOS8にRedisをインストールして構成する方法
CentOS8にNode.jsとnpmをインストールする方法
CentOS6にphpMyAdminをインストールして構成する方法
CentOS8にCurlをインストールして使用する方法
CentOS8にOwncloudをインストールして構成する方法
centosにtomcatをインストールおよびアンインストールする方法
CentOS8でのMySQL8.0のインストール、展開、および構成のチュートリアル
CentOS8にRedmineをインストールして構成する方法
centos7をインストールして接続します
Centos7.4はLNMPをインストールします
CentOS6.7ビルドLNMP環境
CentOS6.5オフラインインストールMySQL5.6.26
Centos7にMySQL5.7をインストールします
CentosはMYSQL8.Xチュートリアルをインストールします
CentOS7の下にmysql5.7をインストールします
Centosインストールelasticsearchチュートリアル