한 서버에 두 개 이상의 mysql을 설치하는 방법은 무엇입니까? 자세한 단계는 다음과 같습니다. 함께 배워봅시다.
1. 환경
mysql 패키지:
mysql-5.6.31.tar
mysql-5.5.32.tar
운영체제 환경:
CentOS 릴리스 6.8(최종)
2. 시스템 규모
/mysqlsoft | 用来存放mysql的各个程序 |
/mysqlsoft/mysql1 | 用来存放mysql-5.5.32.tar的安装程序 |
/mysqlsoft/mysql2 | 用来存放mysql-5.6.31.tar的安装程序 |
/mysqlsoft/mysql1/mysql.sock | |
/mysqlsoft/mysql2/mysql.sock | |
/data | 用来存放数据 |
/data/mysql1 | 用来存放mysql-5.5.32.的数据 |
/data/mysql2 | 用来存放mysql-5.6.31.的数据 |
3. 사용자 및 디렉터리 추가
사용자 추가
groupadd mysql useradd mysql -g mysql
디렉토리 생성
mkdir /mysqlsoft mkdir mysqlsoft/mysql1/ -pv mkdir mysqlsoft/mysql2/ -pv
데이터 디렉토리 생성
mkdir /data mkdir /data/mysql1/ -pv mkdir /data/mysql2/ -pv
권한 변경:
chown -R mysql:mysql mysqlsoft/mysql1 chown -R mysql:mysql mysqlsoft/mysql2 chown -R mysql:mysql /data/mysql1 chown -R mysql:mysql /data/mysql2
4. mysql을 컴파일하고 설치합니다
소스 코드를 컴파일하고 설치하기 전에 몇 가지 도구를 설치해야 합니다
cmake,make,gcc,Perl, yum install cmake,make,gcc,Perl -y
4.1 mysql-5.5.32
cd mysqlsoft/mysql1/ tar -zxvf mysql-5.5.32.tar.gz mkdir bootstarp
bootstarp 디렉토리에 소스 코드를 컴파일합니다
cmake .. -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql1 -DMYSQL_DATADIR=/data/mysql1 -DSYSCONFDIR=/mysqlsoft/mysql1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3301 -DMYSQL_UNIX_ADDR=/mysqlsoft/mysql1/mysql.sock
컴파일 후에 make
make install
4.2 설치 후 작업
cd /mysqlsoft/mysql1 cp ./support-files/my-default.cnf my.cnf
my.cnf를 편집하여 구성 항목을 추가하세요
chown -R mysql . chgrp -R mysql .
mysql 초기화:
scripts/mysql_install_db –user=mysql
mysql 데이터 디렉터리 권한 변경
4.3 mysql-5.6.31
cd /mysqlsoft/mysql2 tar -zxvf mysql-5.6.31.tar.gz mkdir bootstarp
bootstarp 디렉토리에 소스 코드를 컴파일합니다
cmake .. -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql2 -DMYSQL_DATADIR=/data/mysql2 -DSYSCONFDIR=/mysqlsoft/mysql2 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3302 -DMYSQL_UNIX_ADDR=/mysqlsoft/mysql2/mysql.sock
컴파일 후에 make
make install
4.4 설치 후 작업
cd /mysqlsoft/mysql2 cp ./support-files/my-default.cnf my.cnf
my.cnf를 편집하여 구성 항목 추가
chown -R mysql . chgrp -R mysql .
mysql 초기화:
scripts/mysql_install_db –user=mysql
mysql 데이터 디렉터리 권한 변경
5. mysql을 시작합니다
5.1 mysql-5.5.32 시작
cd /mysqlsoft/mysql1 bin/mysqld_safe –user=mysql &
5.2 mysql-5.6.31 시작
cd /mysqlsoft/mysql2 bin/mysqld_safe –user=mysql &
5.3 mysql 시작 상태 확인
[root@mysql mysql2]# ps -ef | grep mysql root 6329 2853 0 13:19 pts/0 00:00:00 /bin/sh bin/mysqld_safe –user=mysql mysql 6607 6329 0 13:19 pts/0 00:00:00 /mysqlsoft/mysql1/bin/mysqld –basedir=/mysqlsoft/mysql1/ –datadir=/data/mysql1/ –plugin-dir=/mysqlsoft/mysql1//lib/plugin –user=mysql –log-error=/data/mysql1//mysql.localdomain.err –pid-file=/data/mysql1//mysql.localdomain.pid –socket=/mysqlsoft/mysql1/mysql.sock –port=3301 root 6630 2853 0 13:20 pts/0 00:00:00 /bin/sh bin/mysqld_safe –user=mysql mysql 6774 6630 0 13:20 pts/0 00:00:00 /mysqlsoft/mysql2/bin/mysqld –basedir=/mysqlsoft/mysql2 –datadir=/data/mysql2 –plugin-dir=/mysqlsoft/mysql2/lib/plugin –user=mysql –log-error=/data/mysql2/mysql.localdomain.err –pid-file=/data/mysql2/mysql.localdomain.pid –socket=/mysqlsoft/mysql2/mysql.sock –port=3302
5.4 mysql에서 다른 항목 삭제
1. 루트 사용자를 변경하고 비밀번호를 변경하세요
2. 익명 사용자 삭제
3. mysql.db에서 모든 사용자가 테스트 데이터베이스 또는 test_로 시작하는 데이터베이스에 액세스할 수 있음을 정의하는 일부 줄을 삭제합니다.
DELETE FROM mysql.db WHERE Db LIKE ‘test%';
요약
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부와 업무에 도움이 되었으면 좋겠습니다.