Mysql数据库搭建集群---实现主从复制,读写分离

参考博客:https://blog.csdn.net/xlgen157387/article/details/51331244

A.  准备:多台服务器,且都可以互相随意访问root用户,都可以随意进行远程连接,开放3306端口,简单来说就是本地可以随意连接上两台服务器的mysql --- root用户

 

B.  主服务器,修改my.cnf,windows下修改my.ini配置

注:在[mysqld]下增加如下配置:

log-bin=mysql-bin

server-id=2

binlog-ignore-db=information_schema

binlog-ignore-db=cluster

binlog-ignore-db=mysql

binlog-do-db=mytest

server-id用于标识唯一的数据库,这里设置为2,在设置从库的时候就需要设置为其他值。binlog-ignore-db表示同步的时候ignore的数据库 
binlog-do-db指定需要同步的数据库

例子:

配置完成后,重启mysqld服务,

输入以下命令 --- 分三次,

GRANT FILE ON *.* TO 'root'@'从机IP' IDENTIFIED BY '连接密码';

GRANT REPLICATION SLAVE ON *.* TO 'root'@'从机IP' IDENTIFIED BY '连接密码';

FLUSH PRIVILEGES

上述配置完成后,输入命令:show master status;

返回结果如果有值,如:

则表示配置完成,继续从库配置

 

C.  从库配置,一样开启配置文件,在[mysqld]下配置如下内容:

注:ignore表示忽略,和主库一致,do-db也和主库一致

log-bin=mysql-bin

server-id=3

binlog-ignore-db=information_schema

binlog-ignore-db=sys

binlog-ignore-db=mysql

replicate-ignore-db=mysql

replicate-do-db=mytest

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

配置完成后,执行:show slave status; 发现并无结果,全部为空

继续操作:

在从库中尚未配置和谁连接,所以需要执行以下命令:

mysql> stop slave;  #关闭Slave

mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000004', master_log_pos=28125;

mysql> start slave;  #开启Slave

注:上面的绿色字需要和主库查出来的参数一致!!!如主机IP,用户名,密码,file名,pos码等等

在从库中执行:show slave status;观察结果:

 

至此,配置完成,在主库进行增删改查,包括新建表等等所有操作,在从库都会自动实现复制,同步

真正实现了主从复制,读写分离

猜你喜欢

转载自blog.csdn.net/weixin_40834464/article/details/82467290