搭建Mysql主从复制,Mysql集群,数据量大,单表,读写分离

# 主从复制

在主库my.ini里面新增配置
server-id=1 #设置server-id
log-bin=mysql-bin #开启二进制文件
#同步的数据库,除此之外别的不同步(和下面binlog-ignore-db二选一)
binlog_do_db=order
#不同步数据库,除此之外都同步
#binlog-ignore-db = information_schema
#binlog-ignore-db = MySQL

mysql -u root -p 登录mysql,创建账户密码,实现bin的log的通信

步骤2,3,4 步 分别依次执行3条指令
2 CREATE USER 'wxcSlave'@'192.168.31.216' IDENTIFIED BY 'root';
3 GRANT REPLICATION SLAVE ON *.* TO 'wxcSlave'@'192.168.31.73' identified by 'root';
4 FLUSH PRIVILEGES;

重启mysql服务,查看master的状态,记录二进制文件名和位置
show master status;

步骤5
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 772 | order | | |
+------------------+----------+--------------+------------------+-------------------+


Navicat 新增链接,主库机器上输入账户密码是否能够通信,
在从库机器上,navicat,输入账户密码,是否能够连上通信,一定要保证能够连上,再去进行下一步,我自己就是在这里踩坑了,耽误了一整天排查,目的是从库能够通过主库开放出来的用户密码来访问主库

从库配置

打开从库mysql的my.ini,增加配置如下

server-id=2 #设置server-id 区分和主库的不一样就行
log-bin=mysql-bin #开启二进制文件

重启mysql后 登录mysql,执行以下 注意binlog的文件名称和日志的位置行号,让此用户去链接主库时候显示的,看主库的步骤5
步骤2

CHANGE MASTER TO MASTER_HOST='192.168.31.216',MASTER_PORT=3306,MASTER_USER='wxcSlave',MASTER_PASSWORD='root',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=772;

最后启动 启动salve同步进程
步骤3
mysql > start slave;

在执行
步骤4
show slave status\G;
结果查看
Slave_IO_Running: Yes,
Slave_SQL_Running:Yes
时说明两个线程已启动,主从复制配置成功
更改主库数据 查询从库数据同步过来了。

如果搭建失败,记得
stop slave;
重复步骤2
重新授权和更改同步的日志开始位置


https://www.jb51.net/article/184698.htm 参考此文档,不过该文档执行主库授权从库用户密码访问指令有问题,导致我这踩坑很久。

posted @ 2023-02-24 21:05  向上生长6688  阅读(41)  评论(0编辑  收藏  举报