MySQL8.2新特性——读写分离

最近MySQL新推出了一个特性:读写分离 。让我们一起来感受一下这个新特性吧。

1.MySQL8.0与MySQL8.2读写分离的对比。

MySQL 8.0和MySQL 8.2在读写分离上的区别主要在于8.2版本正式引入了读写分离的功能。在MySQL 8.0中,读写分离主要是通过主从复制实现的,主库负责写操作,从库负责读操作。但是这种方式需要手动配置和管理,而且如果主库出现故障,需要手动切换到从库,操作相对复杂。而在MySQL 8.2中,读写分离得到了进一步的优化和改进。MySQL Router可以自动识别读写操作,并将它们路由到相应的实例(主库或从库),实现了自动化的读写分离。这种方式的优点在于简化了配置和管理过程,提高了系统的可用性和可扩展性。

此外,MySQL 8.2还提供了更多的读写分离相关的功能和优化,例如支持更多的复制策略、更好的负载均衡等。

2.下载MySQL及MySQL Router

登陆MySQL官方网站,进入社区版下载:下载

3.初始化两个mysql数据库实例来模拟多服务。

这里要说一下的是有很多种方法去创建,可以安装两个数据库到不同的目录等。

(1)初始化主实例:
mysqld --initialize-insecure --console

这里可以初始化到对应的目录i如(mysqld --initialize-insecure --console  --datadir=D:\Tools\MySQL\Master)因为我的搭建的目录结构如下:

这里的一些日志文件是我master.ini文件中有对应的配置,你们可以不用创建。

(2)启动主实例
mysqld --console --datadir=D:\Tools\MySQL\Master --defaults-file=D:\Tools\MySQL\master.ini

在启动前,需要对master配置文件进行配置:(配置文件根据自己的情况进行配置)

[mysqld]  
server-id=1  
port=3307
(3)初始化从实例

在另一个MySQL的bin目录下执行以上命令就好了

mysqld --initialize-insecure --console --datadir=(对应目录)

创建slave.ini配置文件

[mysqld]  
server-id=2
port=3308

启动实例:

mysqld --console --datadir=(对应目录)

4.配置主从库的关系

这里你可以启动主库或者从库去配置  当你是启动主库的时候就配置从库 相反如此

CHANGE MASTER TO MASTER_HOST='主库IP', MASTER_USER='数据库用户', MASTER_PASSWORD='对应的密码', MASTER_LOG_FILE='binlog文件名', MASTER_LOG_POS=日志位置;

其中日志文件名和文件二进制位置可以通过以下命令查找:

SHOW MASTER STATUS;

随后启动从服务器的复制进程:

START SLAVE;

查看是否配置成功,如果从服务器的`Slave_IO_Running`和`Slave_SQL_Running`的值都是"Yes"。那么配置成功。

SHOW SLAVE STATUS\G;

5 配置MySQL Router

1.修改MySQL Router的配置文件(通常为mysqlrouter.conf),添加以下内容:
router:  
  router_type: router_plicic  
  server: 127.0.0.1:3307   # 主库端口号  
  replication_user: replicator # 从库复制用户名  
  replication_password: replicator_password # 从库复制密码  
  virtual_host: *

此时我们已经配置完了。

2.启动MySQL Router可以找到对应的.exe文件或者在命令行输入相对应的命令
3.在命令行中连接到MySQL Router:
mysql -hlocalhost -P33067 -uroot -p --skip-ssl --ssl-ca=ca-cert.pem --ssl-cert=server-cert.pem --ssl-key=server-key.pem -e "SHOW DATABASES;"

然后到这里mysql8.2的读写分离就完成了  接下来可以直接通过MySQL的可视化工具进行测试就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值