千家信息网

mysql数据库实现读写分离方法

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本文主要给大家简单讲讲mysql数据库实现读写分离方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql数据库实现读写分离方法这篇文章可以给大家
千家信息网最后更新 2024年11月26日mysql数据库实现读写分离方法

本文主要给大家简单讲讲mysql数据库实现读写分离方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql数据库实现读写分离方法这篇文章可以给大家带来一些实际帮助。

一. 熟悉mysql读写分离及mysql存储引擎的区别。

  1. Ndb集群存储引擎、myisam、innodb

  2. Myisam为mysql安装后默认的存储引擎,不支持事务,行级锁和外键约束的功能;ndb为mysql集群存储引擎与innodb都支持事物,行级锁和外键约束。使用show engines;查看mysql支持的存储引擎。

  3. 读写分离:

i. 环境:

  1. 应用程序client

  2. Database proxy

  3. Database集群(两台以上mysql机器)

ii. 搭建主从:

  1. 安装mysql;

  2. 配置master的my.cnf:

log-bin=mysql-bin

server-id=1

添加专门用于同步的用户:

GRAND REPLICATION SLAVE ON *.* TOmysql@slaveIP IDENTIFIEFD BY 'password';

重启mysql使配置生效;

最后查看mysql状态:show master status;

配置slave的my.cnf:

Server-id=2

配置生效后,配置与master的连接:

mysql> CHANGE MASTER TO
-> MASTER_HOST='10.20.147.110',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='111111',
-> MASTER_LOG_FILE='mysql-bin.000003',
-> MASTER_LOG_POS=161261;

其中MASTER_HOST是master机的ip,MASTER_USER和MASTER_PASSWORD就是我们刚才在master上添加的用户,MASTER_LOG_FILE和MASTER_LOG_POS对应与masterstatus里的信息

最后启动slave:

mysql>start slave;

4)验证master-slave搭建生效

通过查看slave机的log(/var/log/mysqld.log):

10070310:51:42 [Note] Slave I/O thread: connected to master'repl@10.20.147.110:3306', replication started in log 'mysql-bin.000003'at position 161261

如看到以上信息则证明搭建成功,如果有问题也可通过此log找原因

mysql数据库实现读写分离方法就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

0