CentOS 7 環境でソースコードから MySQL 5.7 をインストールする方法

CentOS 7 環境でソースコードから MySQL 5.7 をインストールする方法

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

依存パッケージをインストールする

次のようにコードをコピーします
yum -y インストール autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++

対応するソースパッケージをダウンロードする

http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz をダウンロードしてください
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz をダウンロードしてください

MySQLユーザーを追加する

ユーザー追加 -M -s /sbin/nologin mysql

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

tar zxvf boost_1_59_0.tar.gz -C /home/mysql # ファイルを /home/mysql ディレクトリに解凍します tar zxvf mysql-5.7.12.tar.gz

mysqlをコンパイルする

cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql_client/mysql-5.7-01 \
-DMYSQL_DATADIR=/home/mysql/mysql_data/mysql-5.7-01 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/home/mysql/boost_1_59_0 \ #boostの場所を指定します -DSYSCONFDIR=/etc/mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=すべて\
-DWITH_EMBEDDED_SERVER=1 \
3306 を指定します。

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

make -j `grep processer /proc/cpuinfo | wc -l` #コンパイルには大量のメモリが消費されるため、メモリが少ないとコンパイルを完了できない可能性があります make install #インストールを開始します

構成の起動

次のようにコードをコピーします
cp /home/mysql/mysql_client/mysql-5.7-01/support-files/mysql.server /etc/init.d/mysqld

実行権限を追加する

chmod +x /etc/init.d/mysqld #mysqld は mysql 設定ファイルのパスを変更できます

参照のみのために、mysql 設定 /etc/my.cnf を設定します。

[クライアント]
ポート = 3306
ソケット = /home/mysql/mysql_data/mysql-5.7-01/mysql.sock
デフォルトの文字セット = utf8
[mysqld]
ポート = 3306
ソケット = /home/mysql/mysql_data/mysql-5.7-01/mysql.sock
ベースディレクトリ = /home/mysql/mysql_client/mysql-5.7-01
データディレクトリ = /home/mysql/mysql_data/mysql-5.7-01
pid ファイル = /home/mysql/mysql_data/mysql-5.7-01/mysql/mysql.pid
ユーザー = mysql
バインドアドレス = 0.0.0.0
サーバーID = 1
init-connect = '名前をutf8に設定'
文字セットサーバー = utf8
バックログ = 300
最大接続数 = 1000
最大接続エラー数 = 6000
オープンファイル制限 = 65535
テーブルオープンキャッシュ = 128
最大許容パケット = 4M
binlog_cache_size = 1M
最大ヒープテーブルサイズ = 8M
tmp_table_size = 16M
読み取りバッファサイズ = 2M
読み取りバッファサイズ = 8M
ソートバッファサイズ = 8M
結合バッファサイズ = 8M
キーバッファサイズ = 4M
スレッドキャッシュサイズ = 8
クエリキャッシュタイプ = 1
クエリキャッシュサイズ = 8M
クエリキャッシュ制限 = 2M
ft_min_word_len = 4
log_bin = /home/mysql/mysql_logs/mysql-5.7-01/mysql-bin
binlog_format = 混合
有効期限 = 30
log_error = /home/mysql/mysql_logs/mysql-5.7-01/mysql-error.log
遅いクエリログ = 1
長いクエリ時間 = 1
slow_query_log_file = /home/mysql/mysql_logs/mysql-5.7-01/mysql-slow.log
パフォーマンススキーマ = 0
タイムスタンプの明示的なデフォルト
外部ロックをスキップ
デフォルトストレージエンジン = InnoDB
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
バルク挿入バッファサイズ = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
インタラクティブタイムアウト = 28800
待機タイムアウト = 28800
[mysqlダンプ]
素早い
最大許容パケット = 16M
[マイサムチク]
キーバッファサイズ = 8M
ソートバッファサイズ = 8M
読み取りバッファ = 4M
書き込みバッファ = 4M

先ほど作成したmysqlユーザーにmysql関連のフォルダを割り当てることを忘れないでください。

chown -R mysql.mysql mysql/

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

/home/mysql/mysql_client/mysql-5.7-01/bin/mysqld --initialize-insecure --user=mysql --basedir=/home/mysql/mysql_client/mysql-5.7-01 --datadir=/home/mysql/mysql_data/mysql-5.7-01 #--initialize-insecure はランダムなパスワードを生成しません

データベースを起動する

/etc/init.d/mysqld を起動します

データベースに入る

/home/mysql/mysql_client/mysql-5.7-01/bin/mysql -uroot -p

この記事が CentOS サーバーの設定に役立つことを願っています。

以下もご興味があるかもしれません:
  • Centos7 への mysql8.0rpm のインストール チュートリアル
  • Centos7 (linux+nginx+php7.1+mysql5.7) で yum を使用して lnmp をインストールするチュートリアル
  • CentOS7にmysql5.7の解凍バージョンをインストールする方法についての簡潔なチュートリアル
  • Centos7 のインストールと Mysql5.7 の設定
  • RedHat 6.5/CentOS 6.5 に MySQL 5.7.20 をインストールするための詳細なチュートリアル
  • Centos7 で yum を使用して Mysql5.7.19 をインストールする詳細な手順
  • Centos に MYSQL8.X をインストールするチュートリアル

<<:  JSは賞金の重さに基づいて当選確率を計算します

>>:  crontab の実行結果を電子メールでユーザーに通知する方法

推薦する

Navicat を仮想マシン MySQL に接続する際によくあるエラーと解決策

質問1 解決するサービスを開始します: service mysqld start; /sbin/ip...

line-height=height要素の高さだがテキストが垂直方向に中央揃えされない問題を解決する

まず、行の高さが要素の高さと等しい場合にテキストが垂直方向に中央揃えにならない理由を説明します。実際...

MySQL テーブル構造を Excel にエクスポートする方法

要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...

一般的な JavaScript メモリ エラーと解決策

目次1. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...

Windows で複数の MySQL インスタンスを実行する方法

序文Windows では、各インスタンスに適切なパラメータを使用してコマンド ラインから複数の My...

スネークゲームのウェブ版を実装するためのJavaScript

この記事では、ウェブページのスネークゲームを実装するためのJavaScriptの具体的なコードを参考...

Oracle と MySQL の高可用性ソリューションの比較分析

Oracle と MySQL の高可用性ソリューションについては、以前からまとめたいと思っていたので...

CentOS7 インストール GUI インターフェースとリモート接続の実装

ブラウザ (Web ドライバー) ベースの Selenium テクノロジを使用してデータをクロールす...

MySQL 5.7.13 のインストールと設定方法の Mac でのグラフィック チュートリアル

MySQL 5.7.13 Mac用インストールチュートリアル、非常に詳細で、以下のように記録されてい...

MySql 共通クエリコマンド操作リスト

MYSQL でよく使用されるクエリ コマンド: mysql> select version()...

nginx プロキシ ポート 80 からポート 443 への実装

nginx.conf設定ファイルは次のとおりです。 ユーザー nginx; ワーカープロセス 1; ...

MySQLに絵文字表現を挿入する方法

序文今日、オープンソース プロジェクトのフィードバック フォームを設計していたところ、絵文字表現を挿...

Linux を使用して時間指定ファイルが占有するディスク容量を計算する方法

スケジュールされたタスク エディターを開きます。Cent は、デフォルトで vim を使用して直接開...

3次元画像配置効果を実現する純粋なCSSのサンプルコード

1. 要素の幅/高さ/パディング/マージンのパーセンテージ基準要素の幅/高さ/パディング/マージンの...