mariadb数据库主从复制配置方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主从复制包含两个步骤: 在master 主服务器(组)上的设置,以及在slave 从属服务器(组)上的设置.
一、Master主机配置
[root@master~]yum install mariadb-server -y
[root@master~]systemctl start mariadb
[root@master~]# mysql
MariaDB [(none)]>create database cd;
MariaDB [(none)]>use cd;
MariaDB [(none)]>create table test1 (id int); 字段名数据类型
MariaDB [(none)]>show tables;
停止mysql主服务
[root@master~]systemctl stop mariadb
配置mysql主要同步的数据库名字并开启对应的二进制日志
[root@master~]vim /etc/f
[mysqld]
server-id=1
log-bin=master-bin
binlog-do-db=cd
binlog-ignore-db=mysql
开始配置log-bin导致服务器无法启动,可能是因为二进制目录权限不足,所以还是转到当前目录方便
重新启动
[root@master~]systemctl restart mariadb
授权
MariaDB [(none)]>grant replication slave on *.* to slave@10.1.42.212 identified by "123456";
MariaDB [(none)]>FLUSH PRIVILEGES;
在从slave上测试登录:
[root@slave ~]# mysql -h 10.1.42.211-u slave -p123456
查看状态,这步很关键,两个参数在slave启动时候会用到
把主的原始数据传给从:
[root@master~]mysqldump -u root -p cd> all1.sql
[root@master~]scp all1.sql 10.1.42.212:/root
二、Slave主机配置
[root@slave~]yum install mariadb-server -y [root@slave~]systemctl start mariadb
还是编辑f
[root@slave~]vim /etc/f
[mysqld]
server-id=2
read-only=on
relay-log=relay-bin
replicate-do-db=cd
replicate-ignore-db=mysql
重新启动
[root@slave~]systemctl restart mariadb
测试中继日志目录是否赋值了
MariaDB [(none)]>show variables like '%relay%' ; 创建同名数据库
MariaDB [(none)]>create database cd;
#导入数据库,和主服务器保持一致
[root@slave~]mysql -u root -p cd < all1.sql
然后就是连接master了
MariaDB [(none)]> change master to
master_host='10.1.42.211',master_user='slave',master_password='123456',master_ log_file='master-bin.000001',master_log_pos=245;
然后,启动slave
MariaDB [(none)]>START SLAVE;
查看slave状态:
MariaDB [(none)]>SHOW SLAVE STATUS;
查看Slave_IO_Running和Slave_SQL_Running,如果都是Yes说明搭建成功,就可以建表插入数据测试了。
如果需要暂停slave 复制,则可使用SQL :
stop slave;
说明: 假如停止MYSQL(MariaDB),然后重新启动,则Slave会随mysqld 自动启动.所以不需要担心日常的重启等操作.