Centos7 環境でソースコードから mysql5.7.16 をインストールする方法の詳細な説明

Centos7 環境でソースコードから mysql5.7.16 をインストールする方法の詳細な説明

この記事では、centos7 環境でソース コードから mysql5.7.16 をインストールする方法について説明します。ご参考までに、詳細は以下の通りです。

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

mysqlソースパッケージをダウンロード

http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz

2. インストール契約:

ユーザー名: mysql
インストールディレクトリ: /data/mysql
データベースディレクトリ: /data/mysql/data

3. インストールの準備

1. ユーザーを追加する

> useradd -s /sbin/nologin mysql

2. ディレクトリを作成する

> mkdir /data/mysql

3. ディレクトリの所有者と所有者を変更する

> chown -R mysql:mysql /data/mysql

4.編集に必要なファイルをインストールする

> yum install gcc gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel

(*MySQL 5.7.5以降のバージョンではboostのインストールが必要です)

> yum インストール boost boost-devel

5. ソースパッケージを解凍する

> tar -xf mysql-5.7.16.tar.gz

4. コンパイルしてインストールする

> cd /data/mysql-5.7.16
>cmake \
-DMYSQL_USER=mysql \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/data/mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DINSTALL_PLUGINDIR=/data/mysql/plugin \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=すべて\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

(*注意:エラーが発生した場合は、CMakeCache.txtを削除して設定を再実行してください)

上記のパラメータの説明は次のとおりです。

#mysql ユーザー名 -DMYSQL_USER=mysql
#インストールパス -DCMAKE_INSTALL_PREFIX=/data/mysql
#データファイルの保存場所 -DMYSQL_DATADIR=/data/mysql/data
#my.cnf パス -DSYSCONFDIR=/data/mysql
#MyIASM エンジンをサポート - DWITH_MYISAM_STORAGE_ENGINE=1
#InnoDB エンジンをサポート - DWITH_INNOBASE_STORAGE_ENGINE=1
#メモリエンジンのサポート - DWITH_MEMORY_STORAGE_ENGINE=1
#プラグインファイルと設定パス - DINSTALL_PLUGINDIR=/data/mysql/plugin
#ショートカットキー機能(使ったことないけど)
-DWITH_READLINE=1
#データベースソケットパスに接続 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
#ポート - DMYSQL_TCP_PORT=3306
#ローカルからのデータのインポートを許可する - DENABLED_LOCAL_INFILE=1
#データベース パーティションのサポートをインストール - DWITH_PARTITION_STORAGE_ENGINE=1
#すべての文字セットをインストール -DEXTRA_CHARSETS=all
#デフォルト文字 - DDEFAULT_CHARSET=utf8
#文字をチェック -DDEFAULT_COLLATION=utf8_general_ci
# ブーストが自動的にダウンロードされます
-Dダウンロードブースト=1
#boostディレクトリを指定する -DWITH_BOOST=/usr/local/boost

コンパイルしてインストールする

> 作成 && インストール

設定ファイルをコピーする

> cp /data/mysql/support-files/my-default.cnf /data/mysql/my.cnf

データベースを初期化する

> /data/mysql/bin/mysqld \
--defaults-file=/data/mysql/my.cnf \
--初期化\
--user=mysql \
--basedir=/data/mysql \
--datadir=/data/mysql/data \

次のメッセージが表示された場合:

不明な変数 'defaults-file=/data/mysql/my.cnf'

--defaults-file構成オプションが最初に来ることを確認してください。

次のメッセージが表示された場合:

[エラー] --initialize が指定されましたが、データ ディレクトリにファイルがあります。中止します。

datadir ディレクトリが空であることを確認し、ファイルが存在する場合は削除してください。

MySQL 5.7 バージョンは、--initialize を使用してインストールするとルート パスワードをランダムに生成するので、必ず保存してください。

空のパスワードを生成する場合は、 --initialize-insecureオプションを使用します。

mysqlディレクトリの所有者を変更する

> chown -R mysql:mysql /data/mysql

5. MySQL設定ファイルmy.cnfを設定する

コンパイルおよびインストール時に MySQL の設定ファイルディレクトリを/data/mysqlに設定しているので、 /etc/my.cnfを削除します。

影響を受けないようにするためです。

> rm -rf /etc/my.cnf
> vi /data/mysql/my.cnf

構成は次のとおりです。

[クライアント]
デフォルトの文字セット = utf8
ポート = 3306
ソケット = /data/mysql/mysql.sock
[mysql]
デフォルトの文字セット = utf8
[mysqld]
名前解決をスキップ
ベースディレクトリ = /data/mysql
データディレクトリ = /data/mysql/data
ポート = 3306
サーバーID = 10
ソケット = /data/mysql/mysql.sock
文字セットサーバー = utf8
最大接続数 = 200
デフォルトのストレージエンジン = INNODB
ログ bin = mysql bin

mysqlのスタートアップを追加

> cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
> chmod 755 /etc/init.d/mysqld
> chkconfig --add mysqld

MySQLサービスを開始する

> サービスmysqldを開始

mysqlの環境変数を追加する

> echo "エクスポート PATH=/data/mysql/bin/:$PATH" >> /etc/profile
> ソース /etc/profile

上記で保存したパスワードでmysqlにログインし、ルートパスワードを変更します。

>mysql -uroot -p
> パスワードをpassword('123456')に設定します。
> ユーザー 'root'@'localhost' のパスワードを期限切れにならないように変更します。
> 権限をフラッシュします。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • Centos7.2.1511 に jdk1.8.0_151 と mysql5.6.38 をインストールする方法
  • Centos7にmysql5.6をインストールする方法
  • Centos7 インストール mysql5.6.29 シェル スクリプト
  • Centos7.3 で mysql5.7.18 をインストールして初期パスワードを変更する方法
  • Centos7 のインストールと Mysql5.7 の設定
  • Centos7 (linux+nginx+php7.1+mysql5.7) で yum を使用して lnmp をインストールするチュートリアル
  • Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順
  • Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル
  • Alibaba Cloud Centos7.3 インストール mysql5.7.18 rpm インストール チュートリアル
  • CentOS7 サーバーでの apache、php7、mysql5.7 のインストールと構成コード
  • CentOS7 は rpm を使用して MySQL 5.7 をインストールするチュートリアル図
  • Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

<<:  JavaScript でのプロキシの使用を理解するための記事

>>:  VMware15 仮想マシン ブリッジ モードでインターネットにアクセスできない問題の解決方法

推薦する

良いデザインについて

<br />「良いデザインとは何か」と答える 1 万人に対して、少なくとも 1 万 1 ...

ウェブデザインにおける画像フォーマットとデザインの関係を詳しく説明

なぜこの領域のコンテンツを整理したいのでしょうか。それは、油絵の具とキャンバスを理解する必要があり、...

MySQL 8.0.12 のインストールと使用方法のチュートリアル

MySQL 8.0.12のインストールと使用のチュートリアルを録画しました。ウィンドウズまず、公式ウ...

JavaScript のフラット配列をツリー構造に変換する例

目次バックグラウンドで10,000個のデータが失われた再帰法非再帰的方法要約するバックグラウンドで1...

MySql 5.7.20 のインストールとデータおよび my.ini ファイルの構成

1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...

HTML テーブル マークアップ チュートリアル (30): セルの暗い境界線の色属性 BORDERCOLORDARK

セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...

Linuxで環境変数を削除する詳細な手順

Linuxで環境変数を削除するには?unsetコマンドを使用してすぐに削除します1. Linuxクラ...

MySQLカーソルの使い方と機能の詳細な説明

[mysqlカーソルの使い方と機能]例:現在、テーブル A、B、C の 3 つのテーブルがあります。...

jQueryは画像の強調表示を実現します

ページ上の画像を強調表示することは非常に一般的です。ここでは、jQuery を使用して画像を強調表示...

MySQL 8で追加された3つの新しいインデックスは、非表示、降順、関数です。

目次MySQL 8 の隠しインデックス、降順インデックス、関数インデックス1. 隠しインデックス1....

ウェブページのカラーマッチングスキルについての簡単な説明(フロントエンド開発者必読)

一般的に、Web ページの背景色は、より柔らかく、よりシンプルで、より明るく、暗いテキストとマッチし...

js を使用して画像をモザイク化する方法の例

この記事では、主に js を使用して画像をモザイク化する方法の例を紹介し、次のように共有します。効果...

Vueは単一ファイルコンポーネントの完全なプロセス記録を実装します

目次序文単一ファイルコンポーネント基本概念シンプルなローダーコンポーネントコンテンツの解析コンポーネ...

Dockerイメージ内のnoneイメージ操作を削除する

普段はdocker buildコマンドでイメージを生成していますが、コードの更新が頻繁に行われるとn...

VueプロジェクトにPWAを導入する手順

目次1. 依存関係をインストールする2. vue.config.js ファイルで pwa を設定しま...