创建mysql用户及组
groupadd -r -g 306 mysql
useradd -r -g mysql -s /bin/false -u 306 mysql
获取软件
之前在二进制方法里面已经下载过安装包了,这里我们就直接拷贝过来
这个就是我们要拷贝的东西,注意这里的IP地址是你自己下载好的虚拟机地址,和我的不一样的
scp 192.168.57.142:/root/mysql80-community-release-el7-5.noarch.rpm .
scp 192.168.57.142:/root/mysql57-community-release-el7-10.noarch.rpm .
创建多实例的数据目录
mkdir -p /data/330{6..8}/data
给每一个MySQL多实例配置文件
vim /data/3306/my.cnf
[client]
port = 3306
socket = /data/3306/mysql.sock
[mysqld]
user = mysql
port = 3306
socket = /data/3306/mysql.sock
basedir = /usr/local/mysql
datadir = /data/3306/data
server-id = 3306
[mysqldump]
quick
max_allowed_packet = 16M
[mysqld_safe]
log-error=/data/3306/mysql_3306.err
pid-file=/data/3306/mysqld.pid
将3306配置好之后我们可以将3306的配置拷贝到3307和3308中,然后再进行修改
cp /data/3306/my.cnf /data/3307/my.cnf
cp /data/3306/my.cnf /data/3308/my.cnf
这里有一个简单的方法,利用shell,将源文件全局的3306改成3307、3308,这样比你一个一个去改方便很多,还不容易遗漏
sed -i 's/3306/3307/g' /data/3307/my.cnf
sed -i 's/3306/3308/g' /data/3308/my.cnf
chown -R mysql.mysql /data/330{6..8}
find /data/330{6..8} -name mysqld -exec chmod 700 {} \;
查找权限为700的文件,这里查找出来是空
配置MYSQL的环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
初始化多实例
有三个多实例,那我们就要多实例初始化三次,但是里面的密码一定要记住
3306:
mysqld --initialize --datadir=/data/3306/data --basedir=/usr/local/mysql --user=mysql
3307:
mysqld --initialize --datadir=/data/3307/data --basedir=/usr/local/mysql --user=mysql
3308:
mysqld --initialize --datadir=/data/3308/data --basedir=/usr/local/mysql --user=mysql
这三个的密码一定要记住哇!!!每个人的密码不一样哦,不要直接用我的
启动
mysqld_safe --defaults-file=/data/3306/my.cnf &
mysqld_safe --defaults-file=/data/3307/my.cnf &
mysqld_safe --defaults-file=/data/3308/my.cnf &