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

推薦する

JavaScript でプロトタイプ パターンを実装する方法

概要プロトタイプ パターンは、プロトタイプ インスタンスによって作成されるオブジェクトの型を指し、こ...

CSS ボックスの折りたたみに対する 5 つの解決策

まず、ボックスコラプスとは何でしょうか?親ボックスの内側にあるべき要素が外側にあります。第二に、箱は...

CSS スティッキーレイアウトを使用してヘッダーを上部に配置する方法

適用シナリオ:新しい要件の 1 つはアンケート調査を行うことですが、必然的に多くの質問が含まれ、1 ...

MySQLの暗黙的な変換について話す

作業の過程で、暗黙的な変換が発生するケースが数多くあります。暗黙的な変換は、クエリの速度低下を引き起...

Web デザインの経験: 独善的な Web デザイナー

1. ゴミかクラシックか? Web テクノロジーは急速に更新されており、Web サイトのインターフェ...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

非常に優れた CSS スキル 10 選のコレクションと共有

ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...

three.js で 3D ダイナミック テキスト効果を実現する方法

序文みなさんこんにちは。CSS ウィザードの alphardex です。以前、海外のウェブサイトを閲...

DIV と画像の水平および垂直の中央揃えは複数のブラウザと互換性があります

最初のタイプ: 完全な CSS コントロール、レイヤーフローティング (ログインページに適しています...

TypeScript における列挙型の理解と応用シナリオ

目次1. 何ですか2. 使用数値列挙文字列列挙異種列挙自然3. 応用シナリオ要約する1. 何ですか列...

iframeリフレッシュ方式の方が便利

iframeを更新する方法1. 更新するには、JavaScriptのdocument.fr.loca...

MySQL InnoDB のトランザクション特性を確保するにはどうすればよいですか?

序文「データベース トランザクションの特徴は何ですか?」と尋ねられたら、 ACID 特性である原子性...

MySQL サブクエリ (ネストされたクエリ)、結合テーブル、複合クエリの詳細な説明

1. サブクエリMySQL 4.1以降はサブクエリをサポートしていますサブクエリ:別のクエリ内にネス...

両側にCSS固定レイアウト、中央に適応レイアウトを実装

フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を...

ラベルタグの使用時に発生する問題の分析と解決策

最近何かをするときにラベル タグを使用しました。以前はラベル タグをほとんど使用していなかったため、...