CentOS 上での MySQL 5.6 のコンパイルとインストール、および複数の MySQL インスタンスのインストールの詳細な説明

CentOS 上での MySQL 5.6 のコンパイルとインストール、および複数の MySQL インスタンスのインストールの詳細な説明

--1. mysql用の新しいグループとユーザーを作成する

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

--2. 必要なライブラリとコンパイラをインストールする

# yum インストール ncurses-devel openssl-devel cmake -y

--3. 解凍する

# tar zxvf mysql-5.6.35.tar.gz
# cd mysql-5.6.35

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

# メイク \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=すべて\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_SSL=システム
# 作る
# インストールする

--5. テンプレートを構成ファイルとしてコピーする

# cp サポートファイル/my-default.cnf /etc/my.cnf

--6. MySQLの権限を設定する

# chown -R mysql.mysql /usr/local/mysql/

--7. MySQLデータベースを初期化する

# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
# chown -R ルート /usr/local/mysql/
# chown -R mysql /usr/local/mysql/data/


--8. 起動時にMySQLが自動的に起動するように設定する

# cp サポートファイル/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig mysqld をオンにする

--9. mysql をテストして実行する

#サービスmysqldを起動

--10. MySQL管理者パスワードを変更する

#/usr/local/mysql/bin/mysqladmin -u root password '設定するパスワード'

--11. ユーザーを使用してmysqlにログインする

# /usr/local/mysql/bin/mysql -u ルート -p

--12. 環境変数を追加する

# echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile
# ソース /etc/profile

CentOS 6.5 の最小限のコンパイルと MySQL 5.5.35 構成の複数インスタンスのインストール

1. ファイアウォールをオフにする

1234567 [root@mysql ~]# サービスiptablesを停止
iptables: チェーンをポリシーに設定 ACCEPT: フィルター [ OK ]
iptables: ファイアウォールルールをフラッシュしています: [ OK ]
iptables: モジュールをアンロードしています: [ OK ]
[root@mysql ~]# chkconfig iptables をオフにする
[root@mysql ~]# chkconfig iptables --list
iptables 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ

2. selinuxをオフにする

12 [root@mysql ~]# setenforce 0
[root@mysql ~]# vim /etc/sysconfig/selinux

次の行を変更します。

SELINUX=無効
12 [root@mysql ~]# getenforce 
寛容な

3. mysql 依存パッケージとコンパイル ツールをインストールします。

1234 [root@mysql ~]# yum install libaio-devel -y
[root@mysql ~]# yum install -y ncurses-devel
[root@mysql ~]# yum install -y gcc gcc-c++ 
[root@mysql ~]# yum install -y cmake

4. 設置前の準備

4.1. インストールパス:

1 [root@mysql ~]# mkdir /usr/local/mysql

4.2. データベースパス:

1 [root@mysql ~]# mkdir /data/mysql -p

4.3. ユーザーとユーザーグループを作成する

12 [root@mysql ~]# グループ追加mysql
[root@mysql ~]# useradd -r -g mysql -s /bin/false mysql

4.4. データ保存ディレクトリへの権限付与

1 [root@mysql ~]# chown mysql:mysql -R /data/mysql

5. mysql 5.5.35をコンパイルしてインストールする

1234567 [root@mysql ~]# yum install -y lrzsz
root@mysql ~]# mkdir /package
[root@mysql ~]# cd /package/
[root@mysql パッケージ]# tar xf mysql-5.5.32.tar.gz 
[root@mysql パッケージ]# cd mysql-5.5.32
[root@mysql mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
[root@mysql mysql-5.5.32]# 作成 && インストール

6. マルチインスタンス データベース ファイルの保存場所を作成します。

12345678 [root@mysql ~]# mkdir -p /data/{3306,3307}/data
[root@mysql ~]# ツリー /data
/データ
|-- 3306
| `-- データ
`-- 3307
  `--データ
4 ディレクトリ、0 ファイル

7. 設定ファイル (my.cnf) を次のように変更し、それぞれ 3306 ディレクトリと 3307 ディレクトリに配置します。

123456789 [root@mysql 3306]# vim my.cnf 
[クライアント]
ポート = 3306
ソケット = /data/3306/mysql.sock
[mysqld]
ポート = 3306
ソケット = /data/3306/mysql.sock
データディレクトリ = /data/3306
サーバーID = 3306

8. データベースを初期化します。

注意: データベースを初期化するときには別のデータディレクトリを指定する必要があります

123 [root@mysql mysql-5.5.32]# cd /usr/local/mysql/
[root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306
[root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307

9. 複数のインスタンスを起動し、起動スクリプトを起動ファイルに追加できます。

12 [root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &  
[root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &

9.1. ポートを確認します。

12345678 [root@mysql mysql]# netstat -tunlp
アクティブなインターネット接続(サーバーのみ)
プロトコル 受信Q 送信Q ローカルアドレス 外部アドレス 状態 PID/プログラム名  
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 11621/mysqld    
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1266/sshd      
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11338/mysqld    
tcp 0 0 :::22 :::* 1266/sshdをリッスン      
udp 0 0 0.0.0.0:68 0.0.0.0:* 969/dhclient

10. マルチインスタンスデータベースにログインする

12 [root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3306 -S /data/3306/mysql.sock
[root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3307 -S /data/3307/mysql.sock

11. MySQLマルチインスタンスモードを閉じる

12 [root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3306 -S /data/3306/mysql.sock シャットダウン  
[root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3307 -S /data/3307/mysql.sock シャットダウン
/etc/my.cnf を編集する 
[mysqld1]
データディレクトリ=/data/mysql
ソケット=/tmp/mysql.sock
ユーザー=mysql
シンボリックリンク=0
名前解決をスキップ
サーバーID=1221
最大接続数 = 2000
binlog-ignore-db=mysql
binlog-ignore-db=テスト
binlog-ignore-db=情報スキーマ
binlog-ignore-db=パフォーマンススキーマ
innodb_buffer_pool_size = 2G
innodb_追加メモリプール=16M
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
文字セットサーバー=utf8
照合サーバー = utf8_general_ci
レプリケート_ignore_db = mysql
スレーブスキップエラー=すべて
リレーログ=/data/mysql/
[mysqld2]
ポート=3307
サーバーID=1222
ログエラー=/tmp/mysqld2.log
データディレクトリ=/data/mysql_live
ソケット=/tmp/mysql2.sock
ユーザー=mysql
シンボリックリンク=0
名前解決をスキップ
文字セットサーバー=utf8
照合サーバー = utf8_general_ci
最大接続数=500
デフォルトのストレージエンジン=INNODB
innodb_file_per_table
ログ bin = mysql bin
リレーログ情報リポジトリ=テーブル
マスター情報リポジトリ=テーブル
有効期限=10
binlog_format=行
トランザクション分離=READ-COMMITTED
binlog-ignore-db=mysql
binlog-ignore-db=テスト
binlog-ignore-db=情報スキーマ
binlog-ignore-db=パフォーマンススキーマ
slow_query_log=TRUE
slow_query_log_file=/tmp/mysqld_slow_query2.log
長いクエリ時間=3
レプリケート_ignore_db = mysql
スレーブスキップエラー=すべて
[mysqld3]
サーバーID=1223
ポート=3308
ログエラー=/tmp/mysqld3.log
データディレクトリ=/data/mysql
ソケット=/tmp/mysql3.sock
ユーザー=mysql
シンボリックリンク=0
名前解決をスキップ
文字セットサーバー=utf8
照合サーバー = utf8_general_ci
最大接続数=500
デフォルトのストレージエンジン=INNODB
innodb_file_per_table
ログ bin = mysql bin
リレーログ情報リポジトリ=テーブル
マスター情報リポジトリ=テーブル
有効期限=10
binlog_format=行
トランザクション分離=READ-COMMITTED
binlog-ignore-db=mysql
binlog-ignore-db=テスト
binlog-ignore-db=情報スキーマ
binlog-ignore-db=パフォーマンススキーマ
slow_query_log=TRUE
slow_query_log_file=/tmp/mysqld_slow_query3.log
長いクエリ時間=3
レプリケート_ignore_db = mysql
スレーブスキップエラー=すべて
[mysqld_safe]
ログエラー=/var/log/mysqld.log
pidファイル=/data/mysql/mysqld.pid


<<:  Dockerの基本的なネットワーク構成の詳細な説明

>>:  シームレスなカルーセル効果を実現するネイティブ js

推薦する

CentOSにDockerをインストールする方法

ここでは比較的簡単なインストール方法のみを紹介します。 1. yumを使用してインストールするyum...

左右の幅を固定し、中央の幅を適応させたHTMLレイアウトのソリューションの詳細な説明

この記事では、次のように、誰にでも共有できる左右幅固定のミドルアダプティブ HTML レイアウトソリ...

Tomcat maxPostSize設定実装プロセス分析

1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...

Nginx の break と last の違いの詳細な分析

まずは違いについて話しましょう最後に、書き換えられたルールは、次の場所と一致させるために書き換えられ...

Dockerで複数のSpringbootを実行するための詳細なチュートリアル

Dockerは複数のSpringbootを実行する1番目: ポートマッピング 2番目: メモリサイズ...

高並列処理 nginx サーバー向け Linux カーネル最適化構成の説明

デフォルトの Linux カーネル パラメータは最も一般的なシナリオに基づいており、高い同時アクセス...

DockerとFastDFSのインストールコマンドと使い方の詳しい説明

Dockerの機能1) すぐに始められるユーザーがプログラムを「Docker 化」するには、わずか数...

MySQL 分離列とプレフィックスインデックスの使用の概要

目次データ列を分離するプレフィックスインデックスとインデックスの選択性データ列を分離するMySQL ...

CSS で overflow-y: visible; が機能しない理由の分析と解決

シナリオ最近の要件は、モバイル デバイス用の h5 ページです。これには、選択可能なカードの行が必要...

MySQL alter ignore構文の詳細な説明

今日仕事中に、ビジネス側から次のような質問をされました。テーブルがあり、一意のフィールドを追加する必...

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定yum インストール httpd -y systemc...

mysql8.0.11 winx64 インストールと設定のチュートリアル

mysql 8.0.11 winx64のインストールチュートリアルは以下のように記録され、みんなと共...

MySQL の binlog_format モードと設定の詳細な分析

MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...

wavesurfer.js によるオーディオ波形描画の実装

1. レンダリングを見る進むを選択: 後方を選択: コードは次のとおりです(例): <テンプレ...

HTMLのテーブルタグの基本学習チュートリアル

表ラベルの構成HTML 内の表は <table> タグで構成されており、ブラウザはタグを...