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

推薦する

Vue h関数の使い方の詳しい説明

目次1. 理解2. 使用1. h() パラメータ2. 使い方が簡単3. カウンターケースを実装する4...

初心者向け入門講座⑧:記事サイトを簡単に作る

前回の投稿では、Web ページの作成方法について説明しました。Web サイトは多くの Web ページ...

React スキャフォールディングのパスエイリアスを設定する方法

この記事を書いている時点でのReactのバージョンは16.13.1です1 npm run eject...

html+vue+element-ui のスムーズさを 1 分で体験

テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...

Docker+K8S クラスタ環境構築と分散アプリケーション展開

1. Dockerをインストールする yumでdockerをインストール #サービスを開始する sy...

CentOS IP接続ネットワーク実装プロセス図

1. システムにログインし、ディレクトリに入ります: cd /etc/sysconfig/netwo...

CSS3を使用してボタンホバーフラッシュダイナミック特殊効果コードを実装する

CSS3 の列シリーズ属性を使用してウォーターフォールレイアウトを作成する方法を紹介しました。興味の...

Vue Nativeを使用したモバイルアプリケーションの構築プロセスの完全な記録

目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...

jsは双方向データバインディング(アクセサ監視)を実現します

この記事の例では、双方向データバインディングを実現するためのjsの具体的なコードを参考までに共有して...

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

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

MySQL ストアド プロシージャ (in、out、inout) の詳細な説明

1. はじめにバージョン 5.0 以降でサポートされています。特定の機能を実行するための SQL ス...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

MySQL の時間タイプとモードの詳細

目次1. MySQL の時刻型2. タイムゾーンを確認する3. 不正な時間値4. 厳密モード5. 事...

JavaScript キャンバスは影付きのグラフィックとテキストを実装します

キャンバスを使用して、参照用の影付きのグラフィックとテキストを作成します。具体的な内容は次のとおりで...

アイデアはDockerプラグインを使用してワンクリックの自動デプロイを実現します

目次環境: 1. Dockerはリモート接続アクセスを可能にするidea dockerプラグインをイ...