https://blog.csdn.net/weixin_43879074/article/details/88525006(参考链接)
将两个不同的数据库分别部署,一个设置为master数据库负责对数据进行写入,一个设置为slave服务器负责对数据的搜索,master数据库将写入的记录保存到binlog文件中,slave数据库检测master的binlog文件的变化,将变更的记录同步到自身,从而保证master数据库跟slave数据库的数据一致性,这就是主从同步
主库域名:MySql_Master1 从库域名:MySql_Slave1
vim /etc/mysql/my.cnf
[mysqld] server-id=1 log-bin=mysql-bin重启mysql服务是my.cnf生效
进入 master数据库 执行以下语句
create user ‘slave’@‘localhost’ identified by ‘123456’; grant replication slave on . to ‘myslave’@’%’ FLUSH PRIVILEGES;
SHOW MASTER STATUS查看master服务配置信息
±--------------±---------±-------------±-----------------±------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | ±--------------±---------±-------------±-----------------±------------------+ | binlog.000006 | 156 | | | | ±--------------±---------±-------------±-----------------±------------------+
vim /etc/mysql/my.cnf
[mysqld] server-id=2 # 非必须 # log-bin=mysql-bin重启mysql服务是my.cnf生效
停止slave服务
stop slave;设置master数据库信息
change master to master_host='MySQL_Master1',master_user='slave',master_port=3306,master_password='123456',master_log_file='binlog.000006',master_log_pos=156;启动slave服务
start slave;查看slave配置信息
show slave status\G; # 显示的信息中开启了io线程以及sql执行线程表示开启成功 Slave_IO_Running: Yes Slave_SQL_Running: Yes在主数据创建数据库test
CREATE DATABASE test切换master, 查看master数据库的列表数据
±-------------------+ | Database | ±-------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | ±-------------------+
切换slave, 查看slave数据库的列表数据
±-------------------+ | Database | ±-------------------+ | information_schema | | mysql | | performance_schema | | sys | | test | ±-------------------+
从上面可以看出在master数据库创建了test数据库之后,在slave也同样创建了数据库test