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 仮想マシン ブリッジ モードでインターネットにアクセスできない問題の解決方法

ブログ    

推薦する

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

MySQLサービスを削除する具体的な方法

MySQLは次のエラーを表示します「コントロール パネル -> 管理ツール -> サービ...

Vue3における非親子コンポーネント通信の詳細な説明

目次最初の方法アプリ.vueホーム.vueホームコンテンツ.vueデータの応答性レスポンシブプロパテ...

Vueはカルーセルのフレームレート再生を実装します

この記事の例では、カルーセルのフレームレート再生を実現するためのVueの具体的なコードを参考までに共...

カルーセルアニメーションを実現するVueコンポーネント

この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として...

JS の toFixed() メソッドの丸め精度の問題の詳細な説明

目次落とし穴充填方法何の穴ですか?要約する落とし穴最近、仕事で商品の割引価格を計算すると、いつも1セ...

デザイン理論:テキスト表現とユーザビリティ

<br />テキストデザインでは、通常、テキストのレイアウト、つまりテキストをより美しく...

Windows でのシンプルな Mysql バックアップ BAT スクリプトの共有

序文この記事では、Windows で Mysql をバックアップするための簡単な BAT スクリプト...

Nginxはhttpリクエスト実装プロセス分析を処理する

Nginxはまず、設定ファイル内のどのserver{}ブロックを処理に使用するかを決定します。次のs...

ubuntu15.10 での hadoop2.7.2 の詳細なインストールと設定

Linux での Hadoop インストール チュートリアルはインターネットや書籍に多数ありますが、...

CSSカスケーディングメカニズムについての簡単な説明

CSS にカスケード メカニズムがあるのはなぜですか? CSS では、同じ要素の特定のプロパティに同...

Docker に fastdfs イメージをインストールする際の注意事項

1. Docker環境を準備する2. fastdfsイメージを検索する 3. イメージをプルするdo...

MySQLの重複排除操作を極限まで最適化する方法

目次1. インデックスと変数の賢い使用1. インデックスなしの比較テスト2. created_tim...

MySQL UPDATE ステートメントの非標準実装コード

今日は、MySQL データベースと SQL 標準 (および他のデータベース) の UPDATE ステ...

vue3.0プロジェクトアーキテクチャを段階的に構築する方法を教えます

目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...