Linux Centos7 に mysql8 をインストールするチュートリアル

Linux Centos7 に mysql8 をインストールするチュートリアル

1. RPMバージョンのインストール

データベースの他のバージョンがあるかどうかを確認し、ある場合は完全に削除します。

非ルートユーザーにはsudo権限が必要です

1. MySQL関連のインストールパッケージをダウンロードする

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-server-8.0.18-1.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-libs-8.0.18-1.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-common-8.0.18-1.el7.x86_64.rpm

https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-client-8.0.18-1.el7.x86_64.rpm

2. その他の依存関係(この手順をスキップして、後で MySQL をインストールするときに必要な依存関係をインストールできます)

gcc、gcc-c++、openssl、perlおよびそれらの依存パッケージを見つけるには、このWebサイトにアクセスしてください。

https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

3. MySQLをインストールします(エラーが報告されなければ、インストールは成功です)

4. MySQL設定をカスタマイズします(デフォルトのMySQL関連ディレクトリを変更しない場合は、手順6に進みます)

Mysqlのデフォルト設定ファイルの内容を変更する

sudo vi /etc/my.cnf

すべてのコンテンツを削除し、以下を追加します。

[mysqld]
ユーザー=mysql
ポート=3306
データディレクトリ=/app/mysql/data
ソケット=/app/mysql/mysql.sock
ログエラー=/app/mysql/log/mysqld.log
pidファイル=/app/mysql/mysqld.pid
[クライアント]
ソケット=/app/mysql/mysql.sock

5. 設定ファイルに関連するディレクトリを作成し、権限を変更する

sudo mkdir /app/mysql/data /app/mysql/log -p
sudo chown mysql:mysql /app/mysql -R

6. MySQLを初期化する

7. MySQLを起動する

起動に失敗した場合:

a. mysql関連ディレクトリのユーザーとグループがmysqlであるかどうかを確認します。

b. selinux がオフになっているかどうかを確認します: sudo getenforce を実行します。結果が Permissive でない場合は、次のコマンドを実行します: sudo setenforce 0

c. ポートが占有されているかどうかを確認する

d. それでも起動できない場合は、mysqlエラーログを確認し、sudo systemctl status mysqldまたはjournalctl -xeを実行します。

8. mysqlにログインする

Mysqlの初期パスワードを確認します(root@localhost:以下が初期パスワードです)

sudo cat /app/mysql/log |grep root@localhost (このコマンドは手順 4 で使用しました)
sudo cat /var/log/mysqld.log|grep root@localhost (このコマンドは手順 4 では使用されていません)

mysqlにログインし、上記のパスワードをコピーします

mysql -p

9. mysql パスワードを変更します (最初のログイン時にパスワードを変更する必要があります。変更しないと、mysql コマンドは使用できません)

'あなたのパスワード' で識別されるユーザー 'root'@'localhost' を変更します。

2. ソースコードのインストール

非ルートユーザーにはsudo権限が必要です

1. 関連するソースコードパッケージをダウンロードする

https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.2.0.tar.xz
https://mirrors.tuna.tsinghua.edu.cn/gnu/m4/m4-latest.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.19.tar.gz
http://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
https://down.24kplus.com/linux/cmake/cmake-3.16.2.tar.gz

2. gcc と gcc-c++ の下位バージョンをインストールします (必ず実行してください。そうしないと、gcc をアップグレードして m4/gmp/mpfr/mpc をインストールするときに configure がエラーを報告します: configure: エラー: $PATH に適切な C コンパイラが見つかりません)

この Web サイトにアクセスし、gcc、gcc-c++、およびそれらの依存パッケージを検索します (インターネットに接続できる場合は、sudo yum -y install gcc gcc-c++ コマンドを直接使用できます)
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/

3. cmakeのソースバージョンをインストールする

openssl と openssl-devel の依存関係をインストールする必要があります。ダウンロード URL は上記と同じです。そうでない場合、ブートストラップはエラーを報告します: openssl が見つかりません (外部ネットワークに接続できる場合は、次のコマンドを直接使用できます: sudo yum -y install openssl openssl-devel)

tar cmake-3.16.1.tgz
cmake-3.16.1 をインストールします
sudo ./bootstrap 
sudo メイク 
sudo チェックする
sudo インストール

4. gccとgcc-c++をアップグレードする

a. m4をインストールする

tar -xzvf m4-latest.tar.gz
cd m4-1.4.17/
sudo ./configure --prefix=/usr/local (--prefix はインストールパスを指定します)
sudo make (コンパイル)
sudo make check (コンパイル時にエラーがないか確認します。エラーがあるかどうかに注意してください。この手順はスキップできます)
sudo make install (インストール)
m4 --version (m4のバージョンを確認)

正しくインストールすると、次の結果が表示されます。

b. gmpをインストールする

sudo ln -s /usr/local/bin/m4 /usr/bin (このパスに m4 のソフト リンクを作成します。そうしないと、configure はエラーを報告します: 適切な m4 をチェックしています... configure: エラー: $PATH または /usr/5bin に使用可能な m4 がありません (理由については config.log を参照してください)。)
tar -xvf gmp-6.2.0.tar.xz
gmp-6.2.0 をCDに追加
sudo ./configure --prefix=/usr/local/gmp-6.2 (管理者以外のユーザーは sudo を使用する必要があります。そうでない場合、エラーが報告されます: 権限が拒否されました)
sudo メイク
sudo チェックする
sudo インストール

c. mpfrをインストールする

tar -xzvf mpfr-4.0.2.tar.gz 
mpfr-4.0.2 をインストールします 
sudo ./configure --prefix=/usr/local/mpfr-4.0 --with-gmp=/usr/local/gmp-6.2 (--with-gmp は gmp のインストールディレクトリです)
sudo メイク
sudo チェックする
sudo インストール

d. mpcをインストールする

tar -xzvf mpc-1.1.0.tar.gz
cd-mpc-1.1
sudo ./configure --prefix=/usr/local/mpc-1.1 --with-gmp=/usr/local/gmp-6.2 --with-mpfr=/usr/local/mpfr-4.0
sudo メイク
sduo チェックする
sudo インストール

e. ライブラリ ファイルを追加します (/usr/local/mpfr-4.0/lib/ は追加する必要がありますが、他の 2 つは省略できます。そうしないと、gcc コンパイルのインストールおよびアップグレード時にエラーが報告されます: 共有ライブラリのロード中にエラーが発生しました: libmpfr.so.6: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません)

sudo vi /etc/ld.so.conf
 /usr/local/mpfr-4.0/lib/

 /usr/local/gmp-6.2/lib

 /usr/local/mpc-1.1/lib

sudo ldconfig (上記の操作を有効にする)

またはソフトな接続を作る

sudo ln -s /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin

またはコピー

sudo cp /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin/

f. その他の依存関係をインストールします (システムに依存関係パッケージがインストールされていない場合はインストールする必要があります。そうしないと、gcc コンパイルのアップグレード時にエラーが報告されます: mpc.h: そのようなファイルまたはディレクトリはありません)

gmp-devel と libmpc-devel およびそれらの依存パッケージをダウンロードします (インターネットに接続できる場合は、次のコマンドを直接使用できます: sudo yum -y install gmp-devel libmpc-devel)

https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-6.0.0-15.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-devel-6.0.0-15.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-1.0.1-3.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-devel-1.0.1-3.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-3.1.1-4.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-devel-3.1.1-4.el7.x86_64.rpm

他にダウンロードする依存パッケージがある場合は、https://mirrors.tuna.tsinghua.edu.cn にアクセスして自分でダウンロードしてください。

g. gccをアップグレードする

tar -xzvf gcc-9.2.0.tar.gz
gcc-9.2.0 をインストールしてください
 sudo ./configure --prefix=/usr/local/gcc-9.2 \
 --enable-bootstrap\
 --enable-checking=リリース \
 --enable-languages=c,c++ \
 --enable-threads=posix \
 --チェックを無効にする\
 --disable-multilib\
 --enable--long-long\
 --with-gmp=/usr/local/gmp-6.2\
 --with-mpfr=/usr/local/mpfr-4.0\
 --with-mpc=/usr/local/mpc-1.1
sudo make (コンパイル時間は長く、約1時間)
sudo チェックする
sudo インストール

gccとgcc-c++の下位バージョンを必ずアンインストールしてください。

sudo rpm -e gcc-c++
sudo rpm -e gcc
sudo vi /etc/profile エクスポート PATH=$PATH:/usr/local/gcc/bin 
  ソース /etc/profile

gccのバージョン番号を確認する

gcc --version

5. MySQLのソースバージョンをインストールする

ncurses-devel 依存関係をインストールします。そうしないと、cmake はエラーを報告します: Curses ライブラリが見つかりません。適切なパッケージをインストールしてください (インターネットに接続できる場合は、コマンドsudo yum -y install ncurses-devel直接使用できます。インターネットに接続できない場合は、ダウンロード アドレスは手順 2 と同じです)

tar -xzvf mysql-8.0.19.tar.gz
cd mysql-8.0.19
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql\
 -DDEFAULT_CHARSET=utf8\
 -DDEFAULT_COLLATION=utf8_general_ci\
 -DENABLED_LOCAL_INFILE=ON\
 -DWITH_SSL=システム\
 -DMYSQL_DATADIR=/app/mysql/data\
 -DSYSCONFDIR=/app/mysql/config\
 -DMYSQL_TCP_PORT=3306\
 -DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock\
 -DWITH_BOOST=/home/mcbadm/mysql8/\
 -DFORCE_INSOURCE_BUILD=1

上記のパラメータは以下のように紹介されています(簡単なパラメータです。詳細なパラメータについては、https://blog.51cto.com/laowafang/1294964 を参照してください)。 -DCMAKE_INSTALL_PREFIX: インストールディレクトリ

-DDEFAULT_CHARSET: 文字セットを設定します -DDEFAULT_COLLATION: 照合順序を設定します -DENABLED_LOCAL_INFILE=ON: ローカル データ インポート サポートを有効にします -DWITH_SSL=system: SSL ライブラリ サポートを有効にします -DMYSQL_DATADIR: データ ファイル ディレクトリ、任意 -DSYSCONFDIR: 構成ファイル ディレクトリ、任意 -DMYSQL_TCP_PORT: mysql が listen する TCP ポート -DMYSQL_UNIX_ADDR: mysql.sock パス、任意 -DWITH_BOOST: Boost ソース パッケージ ディレクトリ -DFORCE_INSOURCE_BUILD: 存在しないリソース ディレクトリを強制的に作成します cmake がエラーを報告した場合は、原因を見つけて解決し、CMakeCache.txt を削除して再度 cmake を実行します

sudo rm -rf /usr/lib64/libstdc++.so.6* (すべての下位バージョンの c++ ライブラリ ファイルを削除します)
sudo ln -s /usr/local/gcc-9.2/lib64 /usr/lib64 (新しくインストールされたハイエンド C++ ライブラリ ファイルをシステム ライブラリ ファイルに追加します)
sudo make (約1時間かかります)
sudo インストール

6. 設定ファイルを書き、ディレクトリを作成して承認する

sudo mkdir /app/mysql/config
sudo cd /app/mysql
sudo vi config/my.cnf

以下を追加します。

[mysqld]
ユーザー=mysql
ポート=3306
データディレクトリ=/app/mysql/data
ソケット=/app/mysql/mysql.sock
[mysqld_safe]
ログエラー=/app/mysql/logs/mysql-err.log
pidファイル=/app/mysql/mysql.pid
[クライアント]
ソケット=/app/mysql/mysql.sock
sudo ユーザー追加 mysql -s /sbin/nologin
sudo mkdir -p /app/mysql/logs
sudo touch /app/mysql/logs/mysql-err.log
sudo chown -R mysql.mysql /app/mysql

7. 初期化してログインし、パスワードを変更する

初期化

sudo /app/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql (初期パスワードはありません。初期パスワードが必要な場合は、--initialize を使用してください)

起動する

sudo /app/mysql/support-files/mysql.server start

ログインします(初期パスワードがない場合は、Enterキーを押します)

sudo /app/mysql/bin/mysql -p

パスワードを変更する

alter user 'root'@'localhost' identified by '密碼';

要約する

上記は編集者が紹介した Linux CentOS7 に mysql8 をインストールする方法のチュートリアルです。皆様のお役に立てれば幸いです。

以下もご興味があるかもしれません:
  • Linux 環境に mysql5.7.36 データベースをインストールするチュートリアル
  • Linux 環境に MySQL 8.0 をインストールするプロセスの紹介
  • Linux 7.6 バイナリに MySQL 8.0.27 をインストールする詳細な手順
  • Linux での MySQL のインストールに関するチュートリアル
  • Linux での MySQL マルチインスタンスの展開とインストール ガイド
  • Linux での MySQL 8.0.25 のインストールと設定のチュートリアル
  • mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル
  • Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル
  • Linux システム MySQL8.0.19 クイックインストールと構成チュートリアル図
  • Linux環境にMySQLデータベースをインストールする

<<:  Linuxシステムにmsfをインストールするプロセスの詳細な説明

>>:  WiFi 開発 | WiFi ワイヤレス テクノロジーの紹介

推薦する

Ajax jQueryはページ上のdivの更新効果を実現します

元のコードは次のとおりです。 <div class='コントロールグループ'&...

MySQL マスタースレーブ同期、トランザクションロールバックの実装原理

ビンログBinLog は、データベース テーブル構造の変更 (テーブルの作成、変更など) とテーブル...

検証コードケースのJavaScript実装

この記事では、検証コードの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

CSS で雨滴アニメーション効果を実装するサンプルコード

ガラス窓今日実現するのは雨滴効果です。ただし、雨滴効果を実現する前に、まずは曇りガラス効果を作成しま...

HTML フォーム_PowerNode Java アカデミー

1. フォーム1. フォームの役割HTML フォームは、さまざまな種類のユーザー入力を受け取り、ユー...

WeChatミニプログラムが星評価を実装

この記事では、WeChatアプレットで星評価を実装するための具体的なコードを参考までに紹介します。具...

Vue3ルーティングVueRouter4を使用する簡単な例

ルーティングvue-router4 では API の大部分は変更されていないため、変更点のみに焦点を...

Linux の crontab タスク スケジューリングの簡単な分析

1. スケジュールタスクを作成する命令crontab -eは現在のユーザーの編集インターフェースに入...

RedisとMemcacheの比較と選び方

最近 redis を使っていて、とても便利だと感じているのですが、インメモリ データベースを選択する...

MySQL で CURRENT_TIMESTAMP を使用する方法

目次CURRENT_TIMESTAMPの使用CURRENT_TIMESTAMPを使用したタイムスタン...

Linux学習におけるmkdirコマンドの詳しい説明

目次序文1. ファイルの概念に関する基礎知識2. mkdir コマンド序文最近、Linux にますま...

JavaScript のコールバック関数の理解と使用

目次概要コールバックまたは高階関数とは何ですか?コールバック関数はどのように機能しますか?コールバッ...

CentOS の Nginx 公式 Yum ソースの設定を詳しく解説

私はプロジェクトの展開にAlibaba Cloudから購入したCentOSを使用しています。最近、プ...

Linux ユーザー スクリプトの作成/推測ゲーム/ネットワーク カード トラフィック監視の紹介

目次1. ユーザーが作成したスクリプト2. 単語当てゲーム3. ネットワークカードのトラフィック監視...

MySQL の null (IFNULL、COALESCE、NULLIF) に関する知識ポイントのまとめ

この記事では、MySQL の null (IFNULL、COALESCE、NULLIF) に関連する...