介绍
mysql的主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能,就是一台或多台数据库(slave,从库)从另一台MYSQL数据库(master,主库)进行日志的复制然后再解析并应用到自己,最终实现主库和从库的数据一致mysql的主从复制是mysql的自带功能,无需借助第三方工具
主从复制实现步骤
- 主库将改变记录到二进制日志(binary log)
- 从库将主库的binary log日志拷贝到他的中继日志relay log
- 从库重做中继日志中的事件,将改变应用到从库中
一般情况下,主库有一个,从库有多个
实现步骤
1.准备两个Linux服务器,分别安装mysql,用作主从数据库
2.修改主库的配置文件
vim /etc/my.cnf
//添加以下内容
[mysqld]的位置下面添加
log-bin=mysql-bin //启用二进制日志,必须添加
server-id=100 //服务器的唯一标识,不能重复,可自定义编号,但必须添加
重启mysql,systemctl restart mysqld
3.登录主库,授予一个对象能够从从库访问主库
GRANT REPLICATION SLAVE ON *.* to '自定义用户账号'@'%' identified by '自定义用户密码'
这里的账号密码使用于从库访问主库,做验证时用到的,也就是主库创建一个授权对象,从库使用该对象访问主库
登陆后执行,show master status,查看主库,记录下master_log_file和master_log_pos的内容,用于从库使用
4.修改从库的配置文件
vim /etc/my.cnf
[mysqld]下方添加
server-id=101,//不能重复,id自取唯一
重启mysql,systemctl restart mysqld
5.登录从库mysql,执行下列sql