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

推薦する

Linuxカーネルの浮動小数点演算のサポートに関する簡単な説明

現在、ほとんどの CPU は浮動小数点ユニット (FPU) をサポートしています。FPU は、プロセ...

MySQLのインデックスシステムがB+ツリーを使用する理由の分析

目次1. インデックスとは何ですか? 2. インデックスはなぜ必要なのでしょうか? 3. インデック...

Nginx+FastDFSでイメージサーバーを構築

設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...

DOCTYPE 文書型宣言 (Web ページ愛好家必読)

DOCTYPE 宣言 作成するすべてのページの先頭に、ドキュメント宣言が必要です。はい、そうでしょう...

centos7.2 オフラインインストール mysql5.7.18.tar.gz

ネットワークが分離されているため、MySQL は yum を使用してインストールできません。ここでは...

Vue実戦記録のログインページの実装

目次1. 事前準備1.1 Node.jsをインストールする1.2 webpackをインストールする1...

Mybatis での動的 SQL ステートメント分析

この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...

CocosCreator Huarongdaoデジタルパズルの詳しい説明

目次序文文章1. パネル2. 華容島ソリューション3. コード4. 注記序文華容路とは何ですか? 誰...

Windows 10 に付属する仮想マシンのネットワークを設定するための詳細な手順 (グラフィック チュートリアル)

1. サーバー ホストをクリックし、右側の操作リストで [仮想スイッチ管理] をクリックして、仮想...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

JS+Canvas でダイナミックな時計効果を実現

参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...

WindowsシステムでMySQLデータベースを完全にアンインストールして、MySQLを再インストールします

1. コントロールパネルで、MySQLのすべてのコンポーネントをアンインストールします。コントロール...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

開発にVscodeとdockerを組み合わせて使用​​する詳細なプロセス

序文Docker と VS Code を使用すると、ローカル開発環境全体を最適化し、プロジェクトの進...