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 の実行結果を電子メールでユーザーに通知する方法

推薦する

RedisとMySQLの違いを簡単に説明してください

MySQL はディスクに保存される永続的なストレージであり、取得には一定の IO が伴うことはご存じ...

Vue+element はローカル検索機能付きのドロップダウン メニューを実装します

必要:バックエンドは配列オブジェクトを返し、それがフロントエンドで配列に結合されます。配列は名前に従...

JavaScript タイピングゲーム

この記事では、タイピングゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...

MySQL 8.0 の非表示インデックスの詳細な説明

言葉MySQL 8.0 は最初のバージョンから 4 年を経てリリースされました。バージョン 8.0 ...

オンラインMySQLオプティマイザの誤判断によって発生した低速クエリイベントを記録する

序文:非常に遅いクエリとリクエストのタイムアウトのアラートを受け取りました。メトリックを通じて My...

Ubuntu 15.04 は MySQL リモート ポート 3306 を開きます

Ubuntu 15.04 は MySQL リモート ポート 3306 を開きます。以下の操作はすべて...

MySQL の連結で複数の一重引用符と三重引用符を使用する際の問題

文字列を動的に連結する場合、文字連結を使用することが多いです。次のような連結の引用符の意味がわかりま...

CSS属性のマージンの理解について話す

1.マージンとは何ですか?マージンは、要素の周囲のスペースの間隔を制御するために使用され、視覚的にス...

トップナビゲーションバー機能を実現するCSS+HTML

ナビゲーション バー、固定トップ ナビゲーション バー、およびセカンダリ メニューの実装効果図の実装...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...

CSS 3.0とビデオを組み合わせることでクリエイティブなオープニング効果を実現

CSS 3.0 とビデオを組み合わせて実現したクリエイティブなオープニングをご紹介します。効果は次の...

背景画像のみを180度回転させるCSS3実装例

1. 心の旅最近コックピットを書いていたときに、背景画像を単純に特定の角度に回転させるという問題につ...

Linux のプロセスクラッシュの原因をコアダンプ技術を使用して追跡する簡単な分析

最近、プロジェクトで問題が発生しました。サーバー側のプログラムが突然クラッシュして終了しました。クラ...

Vue再帰コンポーネントの簡単な使用例

序文多くの学生は既に再帰に精通していると思います。アルゴリズムの問​​題を解決するために再帰がよく使...

Mac 環境での Nginx 構成とローカル静的リソースへのアクセスの実装

ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...