MySQL 集群 (二) --------- MySQL 多实例搭建

本文详细介绍了如何在Linux服务器上配置和管理多个MySQL实例,包括创建数据目录、初始化数据库、配置my.cnf文件、启动与关闭数据库服务,以及通过Navicat进行连接。此外,还涉及了密码设置、远程访问授权和权限刷新等关键步骤。


一、多实例概述

MySQL多实例是指安装 MySQL 之后,在一台 Linux 服务器上同时启动多个 MySQL 数据库(实例),不需要安装多个MySQL(适合技术研究和学习的场景)

如果是有多台 Linux 服务器,那么我们需要每台服务器都分别安装 MySQL (适用于实际线上生产环境)。

我们此处计划在一台 Linux 上启动多个 MySQL,这样适合我们的技术研究和学习,如果要在多台 Linux 分别启动 MySQL,这个与我们在一台机器上的配置与操作都是完全一样的。

如何实现在一台Linux服务器上同时启动多个MySQL数据库(实例)?

通过为各个数据库实例配置独立的配置文件来实现,即每个数据库实例有自己单独的配置文件。

二、多实例配置

A、在MySQL安装主目录下创建四个实例存放数据的目录

/data/3307, /data/3308, /data/3309, /data/3310

在这里插入图片描述

B、执行数据库初始化

在 MySQL 的 /usr/local/mysql-5.7.24/bin 目录下执行命令

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.24 --datadir=/usr/local/mysql-5.7.24/data/3307 --user=mysql

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.24 --datadir=/usr/local/mysql-5.7.24/data/3308 --user=mysql

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.24 --datadir=/usr/local/mysql-5.7.24/data/3309 --user=mysql

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.24 --datadir=/usr/local/mysql-5.7.24/data/3310 --user=mysql

initialize-insecure 表示不生成 MySQL 数据库 roo t用户的随机密码,即 root密码为空。

C、配置四个MySQL数据库服务的 my.cnf 文件

为了方便操作,在 Xshell 中打开 4 个选项卡,去连接不同的是 MySQL 实例

在这里插入图片描述

在 /data/3307, /data/3308, /data/3309, /data/3310 四个目录下分别创建一个 my.cnf 文件,在四个 my.cnf 文件分别配置如下内容

注意:不同的实例下配置要修改端口号

[client]
port   = 3307
socket = /usr/local/mysql-5.7.24/data/3307/mysql.sock
default-character-set=utf8

[mysqld]
port   = 3307
socket = /usr/local/mysql-5.7.24/data/3307/mysql.sock
datadir = /usr/local/mysql-5.7.24/data/3307
log-error = /usr/local/mysql-5.7.24/data/3307/error.log
pid-file = /usr/local/mysql-5.7.24/data/3307/mysql.pid

character-set-server=utf8
lower_case_table_names=1
autocommit = 1

三、多实例启动

切换到 /usr/local/mysql-5.7.24/bin 目录下,使用 msyqld_safe 命令指定配置文件并启动 MySQL 服务:

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

其中 --defaults-file 是指定配置文件,& 符合表示后台启动

四、启动后配置

A、登录进入一个每一个 MySQL 实例

在 mysql-5.7.24/bin 目录下执行命令

方式一 :使用用端口、主机登录 (推荐使用该方式)

./mysql -uroot -p -P3307 -h127.0.0.1

方式二:使用 socket 文件

./mysql -uroot -p -S /usr/local/mysql-5.7.24/data/3307/mysql.sock

-p 是指定密码,如果没有密码则可以不写 -p,-S 是指定 sock 文件,mysql.sock 文件是服务器与本机客户端进行通信的 ip 与端口文件。

B、修改 mysql 的密码

alter user 'root'@'localhost' identified by '123456';

其中 123456 是我们设置的密码

C、授权远程访问(这样远程客户端才能访问)

grant all privileges on *.* to root@'%' identified by '123456';

其中 *.* 的第一个 * 表示所有数据库名,第二个*表示所有的数据库表

root@‘%’ 中的 root 表示用户名。

% 表示所有 ip 地址,% 也可以指定具体的 ip 地址,比如 root@localhost,root@192.168.10.129

D、刷新权限

flush privileges;

五、多实例关闭

切换到/usr/local/mysql-5.7.24/bin目录下,使用 mysqladmin 命令 shutdown

方式一:使用端口、主机关闭(推荐)

./mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown

方式二:使用 socket 文件

 ./mysqladmin -uroot -p -S /usr/local/mysql-5.7.24/data/3307/mysql.sock shutdown

方式三: 进入MySQL的客户端命令行,直接执行 shutdown

退出MySQL命令行
在客户端命令行下执行  exit

六、Navicat 连接主从库

在 Navicat 中创建多个连接,分别连接主从库

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在森林中麋了鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值