主从复制有一主一从、一主多从、多主一从等多种模式,这里搭建一主一从模式,其他模式搭建过程的类似。
1、准备工作
准备两台虚拟机,这里准备了两台虚拟机,并在两个节点安装MySQL。
192.168.33.55 (主节点) 192.168.33.11 (从节点) mysql version : 8.0.31
2、主从复制搭建
2.1、在主从节点同时创建mall数据库
2.2、创建表
CREATE TABLE `order` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `price` decimal(10,2) NOT NULL COMMENT '价格', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;
2.3、添加配置
3.3.1、主节点配置
vi /etc/my.cnf
添加如下配置:
#在mysqld模块中添加如下配置信息 log-bin=mysql-bin #二进制文件名称 binlog-format=ROW #二进制日志格式 server-id=53306 #服务id,各节点不能相同,一般使用ip最后一位 + 数据库端口号 binlog-do-db=mall #同步的数据库名称 binlog-ignore-db=mysql #忽略的数据库名称
3.3.2、从节点配置
vi /etc/my.cnf
添加如下配置:
#在mysqld模块中添加如下配置信息 log-bin=mysql-bin #二进制文件的名称 binlog-format=ROW #二进制文件的格式 server-id=13306 #服务器的id
3.3.3、注意事项
主从配置一定要添加在[mysqld]下,我第一次配置将配置内容添加在了[mysqld_safe]下,my.cnf配置的文件内容未生效,导致主从的服务id相同,丛节点出现如下错误:
修改完配置后,重启数据库。
2.4、登录主库,创建绑定账号
登录主数据库 mysql -u root -p
4.4.1、创建绑定用户
登录主数据库mysql -u root -p,创建绑定用户:
--授权操作 create user 'snails'@'%' IDENTIFIED BY 'snails'; GRANT REPLICATION SLAVE ON *.* TO 'snails'@'%'; alter user 'snails'@'%' IDENTIFIED WITH mysql_native_password BY 'snails';
4.4.2、查看主库状态
show master status
记录File和Position,在从数据库连接主数据库时需要用到。
4.4.3、登录从数据库连接主服务器
登录从数据库 mysql -u root -p,执行连接主数据库的命令:change master to master_host='192.168.33.55',master_user='snails',master_password='snails',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=1254;
4.4.4、启动slave
start slave;
4.4.5、查看slave状态
show slave status\G
当IO、SQL运行为Yes时,表示主从复制配置成功。
4.4.6、验证主从复制
在主数据库中添加记录:
稍等片刻,登录从数据库,查看数据同步情况。
标签:主从复制,配置,数据库,MySQL,master,mysql,snails,id,搭建 From: https://www.cnblogs.com/RunningSnails/p/18068406