System: centos7.0
Configuration plan: N configuration files (,cnf) + N startup program scripts.
Why install multiple instances: Better utilize server resources.
What is an instance: A simple understanding is that a port is an instance, and the instance is independent but occupies the public hardware resources of the server.
Description: This blog is adapted from the second part of the 26th video of the old boy's mysqlDBA advanced operation and maintenance system course.
usecmake (compilation and installation) installation explains multiple instances. This article has installed a total of 3306 and 3307 instances.
operate:
1. Install mysql dependency package:
yum install ncurses-devel -y
yum install libaio-devel -y
2. Create users and groups:
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql
Obtain mysql software:
rz -y
3. Install mysql software:
1. Decompression: tar xf mysql-5.5.
2. Generate a soft connection/application/mysql without version number, that is, the mysql installation path:
ln -s /application/mysql-5.5.32/ /application/mysql
4. Delete the previous single instance installation:
pkill mysqld
ps -ef|grep mysql
rm -f /etc//mysqld
Equivalent to: install a single instance of mysql to establish a soft connection
make && make install
ln -s /application/mysql-5.5.32/ /application/mysql
5. Create a multi-instance directory:
mkdir -p /data/{3306,3307}/data
tree /data
/data/-->Multi-instance total directory
├── 3306-->3306 instance directory
│ └── data-->3306 instance data file directory
└── 3307-->3307 instance directory
└── data-->3307 instance data file directory
6. Installation configuration:
rz -y (upload locally to the server,
Download link:/s/1gfzNsQZ Password: qcav)
uzip (in the /home/test/tools directory)
Copy mysql multi-instance configuration file:
cp data/3306/ /data/3306 (Copy the files under /home/test/tools/data/3306 to the directory /data/3306)
cp data/3307/ /data/3307
Copy the mysql multi-instance startup file:
cp data/3306/mysql /data/3306 (Copy the mysql startup script file under home/test/tools/data/3306 to the /data/3306 directory)
cp data/3307/mysql /data/3307
MySQL multi-instance configuration file: �
port=3306 port=3307
socket= /data/3306/ socket= /data/3307/
datadir=/data /3306/data datadir=/data /3307/data
long_query_time=1 long_query_time=1
#long-error= /data/3306/ #long-error= /data/3307/
#long-slow-queries= /data/3306/ #long-slow-queries= /data/3307/
pid-file= /data/3306/ pid-file= /data/3307/
log-bin= /data/3306/mysql-bin log-bin= /data/3307/mysql-bin
relay-log= /data/3306/relay-bin relay-log= /data/3307/relay-bin
relay-log-info-file =/data/3306/ relay-log-info-file =/data/3307/
server-id=1 server-id=1
long-error= /data/3306/mysql_test3306.err long-error= /data/3307/mysql_test3307.err
The essence of mysql multi-instance startup service:
mysqld_safe --defaults-file=/data/3306/ 2>&1 > /dev/null &
mysqld_safe --defaults-file=/data/3307/ 2>&1 > /dev/null &
MySQL multi-instance stops service essence:
mysqladmin -u root (user name) -password -S /data/3306/ shutdown
mysqladmin -u root (user name) -password -S /data/3307/ shutdown