1,进入官网下载专用的mysql安装包,专用的才支持多实例
https://downloads.mysql.com/archives/community/
2,配置mysql安装环境,首先确保你已经卸载全部之前安装过的mysql文件
# 卸载方法
yum list installed | grep mysql
yum remove -y mysql-community-server
3,上传安装包到你的虚拟机或者服务器
4,解压然后移动到本地要安装的文件夹
tar -xf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.42-linux-glibc2.12-x86_64 /usr/local/mysql
5,接下来编写my.cnf配置文件
如果想了解my.cnf文件 里面的参数都是什么意思====》》》
https://developer.aliyun.com/article/822935
vim /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
[mysqld1]
datadir = /mysqlmul/mysqld1
port = 3306
log-error = /mysqlmul/mysqld1/mysqld1.err
pid-file = /mysqlmul/mysqld1/mysqld1.pid
socket = /mysqlmul/mysqld1/mysqld1.sock
[mysqld2]
datadir = /mysqlmul/mysqld2
port = 3307
log-error = /mysqlmul/mysqld2/mysqld2.err
pid-file = /mysqlmul/mysqld2/mysqld2.pid
socket = /mysqlmul/mysqld2/mysqld2.sock
6,创建工作目录
mkdir -p /mysqlmul/mysqld1
mkdir -p /mysqlmul/mysqld2
7,将mysql添加到环境变量
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
8,新建MySQL用户
useradd -M -s /sbin/nologin mysql
9,启动第一台
mysqld_multi start 1
接下来 拿着这个生成的密码登录mysql
mysql -uroot -p -S /mysqlmul/mysqld1/mysqld1.sock
在修改当前的用户密码 就可以
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
10,启动第二台
mysqld_multi start 2
mysql -uroot -p'e?&xLb.Zw8:n' -S /mysqlmul/mysqld2/mysqld2.sock
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
11,接下来验证 可以看到3306,3307 端口都在listen 实验成功
扩展 在原基础上添加一个或多个实例
1,首先编辑/etc/my.cnf文件,添加新的实列配置就可以,配置如下
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = root
[mysqld1]
datadir = /mysqlmul/mysqld1
port = 3306
log-error = /mysqlmul/mysqld1/mysqld1.err
pid-file = /mysqlmul/mysqld1/mysqld1.pid
socket = /mysqlmul/mysqld1/mysqld1.sock
[mysqld2]
datadir = /mysqlmul/mysqld2
port = 3307
log-error = /mysqlmul/mysqld2/mysqld2.err
pid-file = /mysqlmul/mysqld2/mysqld2.pid
socket = /mysqlmul/mysqld2/mysqld2.sock
[mysqld3]
datadir = /mysqlmul/mysqld3
port = 3308
log-error = /mysqlmul/mysqld3/mysqld3.err
pid-file = /mysqlmul/mysqld3/mysqld3.pid
socket = /mysqlmul/mysqld3/mysqld3.sock
2,再重新按照以下命令启动就可以 密码配置同上面的配置就可以
mysqld_multi start 3