ホームページ  >  記事  >  データベース  >  Mysql の単一マシンの複数のインスタンスを構築する方法を段階的に説明します

Mysql の単一マシンの複数のインスタンスを構築する方法を段階的に説明します

藏色散人
藏色散人転載
2021-11-19 16:56:281997ブラウズ

0 はじめに

インターネット技術の発展に伴い、データ量はますます増大しており、大規模なストレージと大規模な分析システムが緊急に必要とされています。この問題を解決できる NoSQL データベースや Hadoop ファイル ストレージなどのデータ ストレージ方法もありますが、リレーショナル データベースには依然として利点があり、特に構造化データの処理においては依然として優れたパフォーマンスを発揮します。あるいは、会社のプロジェクト開発コストの観点から見ると、リレーショナル データベースの使用は、nosql データベースよりもシンプルで保守が容易です。
したがって、この記事では、Mycat を使用する最初のステップを紹介し (もちろん、このステップは必須ではありません)、大量のデータのクエリが遅いという問題に対処するために、単一マシン上に Mysql の複数のインスタンスを構築する方法を学びます。 。

1 スタートアップ項目

vim /etc/apparmor.d/usr.sbin.mysqld
/etc/init.d/apparmor reload

AppArmor (Application Armor) は、Linux カーネルのセキュリティ モジュールです。AppArmor を使用すると、システム管理者は各プログラムをセキュリティ プロファイルに関連付けることができるため、プログラムの機能が制限されます. .簡単に言えば、AppArmor は SELinux に似たアクセス制御システムで、プログラムがどのファイルを読み取り、書き込み、または実行できるか、ネットワーク ポートを開くことができるかどうかなどを指定できます。従来の Unix 任意アクセス制御モジュールを補足するものとして、AppArmor は必須アクセス制御メカニズムを提供しており、これは Linux カーネル 2.6 バージョンに統合されています。
詳細情報の表示:
Apparmor—Linux カーネルの必須アクセス制御システム
http://www.cnblogs.com/-Lei/a...

2 新規作成インスタンスのデータ ディレクトリ

mkdir /var/lib/mysql2   创建目录
chown mysql /var/lib/mysql2  给mysql用户权限

3 データベースの作成とデータベースの初期化

  • mysql 5.7 以前
    mysql_install_db --user=mysql --datadir= /var/lib/ mysql2

  • mysql 5.7 以降

  1. ##--user=mysql --datadir=/var /lib/mysql2

4 マルチインスタンス構成ファイルの構成

[mysqld_multi]  
mysqld     = /install/mysql/bin/mysqld_safe  
mysqladmin = /install/mysql/bin/mysqladmin  
user       = root  
  
# The MySQL server  
[mysqld1]  
port            = 3306  
socket          = /tmp/mysql.sock  
datadir         =/var/lib/mysql  
pid-file        =/var/lib/mysql/mysql.pid  
user            =mysql  
  
log-bin         =master-bin  
log-bin-index           =master-bin.index  
...
[mysqld2]  
port            = 3307  
socket          =/tmp/mysql2.sock  
datadir         =/var/lib/mysql2  
pid-file        =/var/lib/mysql2/mysql.pid  
user            =mysql  
...

5 インスタンスの開始

mysqld_multi   --defaults-file=/etc/mysql/my_multi.cnf start 1
mysqld_multi   --defaults-file=/etc/mysql/my_multi.cnf start 2

6 Mysql

# 登陆Mysql服务器,执行mysql命令进入mysql控制台
mysql -uroot -P3307 -p -S/tmp/mysql2.sock
# 不用输入密码,直接回车
# 查看当前用户
select User from mysql.user;
# 创建Mysql用户test,并赋权限
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
GRANT GRANT OPTION ON *.* TO 'test'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'test'@'%';
にログインします

推奨学習: 「

mysql ビデオ チュートリアル

以上がMysql の単一マシンの複数のインスタンスを構築する方法を段階的に説明しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。