0 소개
인터넷 기술의 발달로 데이터의 양이 점점 늘어나고 있으며, 대용량 스토리지와 대용량 분석 시스템이 절실히 필요합니다. 이 문제를 해결할 수 있는 NoSQL 데이터베이스, Hadoop 파일 스토리지 등의 데이터 저장 방법이 있지만 관계형 데이터베이스는 여전히 장점이 있으며, 특히 구조화된 데이터 처리에 있어 성능이 여전히 뛰어납니다. 또는 회사의 프로젝트 개발 비용 측면에서 관계형 데이터베이스를 사용하는 것이 nosql 데이터베이스보다 더 간단하고 유지 관리가 쉽습니다.
따라서 이 글에서는 Mycat 사용의 첫 번째 단계(물론 이 단계는 필요하지 않음)를 소개하고, 대량의 데이터에 대한 느린 쿼리 문제를 처리하기 위해 단일 머신 다중 인스턴스를 구축하는 방법을 알아봅니다.
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/mysql2mysql 5.7 이상
--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'@'%';