MySQL多实例安装部署

4,896次阅读
没有评论

共计 2191 个字符,预计需要花费 6 分钟才能阅读完成。

MySQL多实例概念

多实例就是在一台服务器上同时开启多个不同的数据库服务端口(例如3306、3307),同时运行多个MYSQL服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。

优点

MySQL多实例,可以通过多个端口向用户提供服务,充分利用一台服务器的闲置资源

缺点

无论是多少个端口提供服务,但始终使用的是一台服务器的资源,所以当访问量过大时,依然存在高并发的问题

安装部署
我这里以创建四个MySQL实例为例,监听的端口分别是3307,3308,3309,3310

1.解压MySQL安装包(获取地址在下边)

tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz

移动并重命名

mv mysql-5.7.34-linux-glibc2.12-x86_64 /usr/local/mysql

2.在mysql目录下创建data目录

cd /usr/local/mysql
mkdir data

3.在data目录下创建四个实例的主目录

cd /usr/local/mysql/data/
mkdir {3307,3308,3309,3310}

4.添加mysql组和mysql组用户

groupadd mysql
useradd -r -g mysql mysql

5.初始化四个实例,分别执行

cd /usr/local/mysql/bin/
./mysqld –initialize-insecure –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3307/ –user=mysql
./mysqld –initialize-insecure –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3308/ –user=mysql
./mysqld –initialize-insecure –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3309/ –user=mysql
./mysqld –initialize-insecure –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/3310/ –user=mysql

6.为四个实例创建主配置文件my.cnf

cd /usr/local/mysql/data/3306
vi my.cnf

主配置文件内容

[client]
port=3307
socket=/usr/local/mysql/data/3307/mysql.sock
default_character_set=utf8

[mysqld]
port=3307
socket=/usr/local/mysql/data/3307/mysql.sock
datadir=/usr/local/mysql/data/3307
log-error=/usr/local/mysql/data/3307/error.log
pid-file=/usr/local/mysql/data/3307/mysql.pid
character_set_server=utf8
lower_case_table_names=1
autocommit=1

替换不同实例配置文件中的目录名

在vi或vim编辑器中执行命令:%s/被替换的目录名/要替换的目录名/g 如:

MySQL多实例安装部署

注意:要在每个实例的主目录中为每个实例都创建主配置文件,且目录名要和实例端口号对应

7.启动实例

cd /usr/local/mysql/bin/
./mysqld_safe –defaults-file=/usr/local/mysql/data/3307/my.cnf &

MySQL多实例安装部署

./mysqld_safe –defaults-file=/usr/local/mysql/data/3308/my.cnf &
./mysqld_safe –defaults-file=/usr/local/mysql/data/3309/my.cnf &
./mysqld_safe –defaults-file=/usr/local/mysql/data/3310/my.cnf &

查看四个实例进程状态

ps -ef | grep mysql

可以看到,四个端口的MySQL实例都启动成功

MySQL多实例安装部署

8.修改数据库密码和赋予远程登录权限

这里我以端口号为3307的实例为例,其他实例只需修改命令中的端口号就可以了

cd /usr/local/mysql/bin/

./mysql -u用户名 -p -P端口 -h地址

./mysql -uroot -p -P3307 -h127.0.0.1
没有密码直接回车

执行命令修改密码

alter user ‘root’@’localhost’ identified by ‘密码’;

授予远程登录权限

grant all privileges on . to root@’%’ identified by ‘密码’;

远程连接测试

别忘记要先关闭防火墙

MySQL多实例安装部署

到这里MySQL多实例的安装部署就完成了,手动撒花

有不对的地方还请指出呀,我们一起进步[嘻嘻]

MySQL安装包获取地址:https://pan.baidu.com/s/1sroOMqqbgibKotA6h7fypw
提取码:exl7

正文完
 
minghao
版权声明:本站原创文章,由 minghao 2023-12-08发表,共计2191字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)