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 ワイヤレス テクノロジーの紹介

推薦する

Mysql 8.0.17 winx64バージョンのインストール中に発生した問題を解決する

1. my.iniファイルを手動で作成して追加する # クライアントセクション # --------...

Linux でのファイルの編集、保存、終了の実践的な説明

Linux でファイルを編集した後、保存して終了するにはどうすればよいですか?保存して終了するコマン...

デザイン理論:人間中心のグリーンデザイン

「人間中心」と「グリーンデザイン」という2つの視点から考える——デザイン業界の同僚とも議論する2つの...

React のグローバル状態管理の 3 つの基本メカニズムの調査

目次序文小道具コンテクスト州要約する序文最新のフロントエンド フレームワークはすべて、コンポーネント...

フロントエンドの状態管理(パート 1)

目次1. フロントエンドの状態管理とは何ですか? 2. ヴュークス3. バス4. ウェブストレージ序...

テーブルを開く際のMySQLスレッドの問題の解決方法

問題の説明最近、MySQL5.6.21サーバーがありました。アプリケーションがリリースされた後、同時...

IE6/7 における a.getAttribute(href,2) 問題の分析と解決

簡単な説明<br />IE6および7では、一般的なaタグ(HTMLで記述され、DOM操作...

Dockerカスタムブリッジdocker0とdockerのコマンド操作の開始、終了、再起動

質問会社がサーバーを移行した後、デフォルトで作成された docker0 ブリッジが会社の外部ネットワ...

JavaScript オブジェクト指向クラス継承ケースの説明

1. オブジェクト指向のクラス継承これまでの章では、JavaScript のオブジェクト モデルがプ...

CSS を使用して複数の方法で下揃えを実装するサンプル コード

会社のビジネス要件により、次の図の赤い領域の効果を達成する必要があります。 効果の説明: 1. 赤い...

Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...

CSS BEM 記述標準の詳細な説明

BEM は、Web 開発に対するコンポーネントベースのアプローチです。ユーザー インターフェイスを独...

JavaScript でネットワーク速度をテストする方法

目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...

MySQL マルチインスタンス インストール ブート自動起動サービス設定プロセス

1.MySQLの複数インスタンスMySQL マルチインスタンスとは、1 台以上のマシン上で複数の M...

レスポンシブ原則のソースコード分析のVue解釈

目次初期化初期化状態()初期化プロパティ()初期化データ()観察する()オブザーバーリアクティブを定...