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

推薦する

サーバー間のファイル バックアップ ソリューション、サーバー ファイルを別のサーバーに自動的にバックアップする方法は?

多くの組織ではファイル サーバーをバックアップする必要があり、あるサーバーから別のファイル サーバー...

MySQL内部一時テーブルの具体的な使用法

目次連合テーブルの初期化ステートメントの実行連合の結果ユニオンオールグループ化十分なメモリステートメ...

CentOS 6.5 に MySQL 5.6 をインストールするチュートリアル

1. Linuxに対応するRPMパッケージをダウンロードする5.6 より前のバージョンhttp://...

Linux で yum と入力した後に -bash: /usr/bin/yum: No such file or directory という問題を解決する方法

Linuxでyumを入力すると、プロンプトが表示されます: -bash: /usr/bin/yum:...

Nginx転送マッチングルールの実装

1. 正規表現マッチング大文字と小文字を区別するマッチングの場合 ~ ~*は大文字と小文字を区別しな...

JavaScript の遅延読み込み属性パターンを理解する

従来、開発者はインスタンスで必要になる可能性のあるデータに対して JavaScript クラス内にプ...

MySQL で準備、実行、割り当て解除ステートメントを使用するチュートリアル

序文MySQLでは、準備、実行、割り当て解除を正式にはPREPARE STATEMENTと呼びます。...

ES6 における Object.assign() の使い方の詳細な説明

目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

Zabbixについて管理者ログインパスワードを忘れた場合、パスワードをリセットする

Zabbix 管理者ログイン パスワードのリセットに関する問題は次のとおりです。 1. 問題の説明:...

数字当てゲームを実装するための純粋なJavaScript

100 以内の自然数をランダムに選択し、プレイヤーに 10 ラウンド以内にその数を推測させる数字推...

mysql8.0.18 で winx64 をインストールするための詳細なチュートリアル (画像とテキスト付き)

MySQLデータベースをダウンロードするには、https://dev.mysql.com/down...

Nginx 構成 80 ポート アクセス 8080 とプロジェクト名アドレス メソッド分析

Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...

Maven+Tomcat 基本イメージを構築する Docker の実装

序文Javaプログラミングでは、ほとんどのアプリケーションはMavenに基づいて構築されており、配信...

IE6 で JS エラーが発生し、CSS が適用されない HTML エンコードの問題の解決策

テストでは、ページ定義がutf-8でエンコードされている場合、 js ファイルに中国語などのマルチバ...