主从数据库的好处
1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
2、架构的扩展,提高单个机器的I/O性能。
3、读写分离,使数据库能支撑更大的并发。
4、可以在从数据库上进行日常备份等等
复制原理:
复制个原理图
开始配置主数据
打开配置文件
vi /etc/my.cnf
# ======================================
# 主从服务器之主服务器
# ======================================
# 为服务器设置一个独一无二的id便于区分,不能与其他数据库id相同
server_id=1
# 将mysql二进制日志取名为mysql-bin
log-bin=mysql-bin
# 从数据库记录主数据库的数据库
binlog-do-db=数据库名(注释了这一行就默认所有数据库)
# 二进制日志格式,有三种statement row mixed
binlog_format=mixed
# 该选项告诉从服务器将其SQL线程执行的更新记入到从服务器自己的二进制日志
log-slave-updates=true
# ======================================
# 主从配置结束
# ======================================
重启生效
systemctl restart mariadb
进入数据库中
show master status;
要记住file,position这两个参数,在从数据库配置中要用到
接下来配置一个从数据库拉取日志的账户,并且使其生效
GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
flush privileges
接下来配置从数据库了
配置my.cnf
# 该值不能与主服务器的server-id同。如果有多个从服务器,则该值顺延
server-id=10
# 中继日志的文件前缀
relay-log=relay-log-bin
# 中继日志的索引文件
relay-log-index=slave-relay-bin.index
重启后,mysql -u root -p进入mysql
参数解释:MASTER_HOST : 设置要连接的主服务器的ip地址
MASTER_USER : 设置要连接的主服务器的用户名
MASTER_PASSWORD : 设置要连接的主服务器的密码
MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称,即第3步得到的信息
MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置,即第3步得到的信息,
配置成功后,使用start slave开启从数据库服务
show slave status显示从服务的状态
然后在刚才配置的主数据库要复制的数据库中,随便插入一条数据后,主数据库
从数据库
教程结束了