MariaDB的主从复制实践
主服务器:192.168.25.7
从服务器:192.168.25.77
实现主从复制应该注意的要点:
主节点:
(1)启动二进制日志
(2)当前节点一个全局的ID号
(3)创建有复制权限的用户账号
从节点:
(1)启动二进制日志
(2)当前节点一个全局的ID号
(3)使用有复制权限的用户账号链接主服务器,并启动复制线程
一、主服务器:192.168.25.7
1.设置数据库的配置
vim /etc/my.cnf
log-bin=master-bin
server-id=1
innodb_file_per_table=ON
skip_name_resolve=ON
2.启动数据库:systemctl start mariadb
3.登录 MySQL
MariaDB [(none)]> show global variables like '%log%'; #查看 log_bin 是否为 ON
MariaDB [(none)]> show global variables like '%server%'; #当前节点一个全局的ID号
MariaDB [(none)]> show master logs; #查看启动的二进制日志
4.创建有复制权限的用户账号
MariaDB [(none)]> grant replication slave ,replication client on *.* to 'repluser'@'192.168.25.%' identified by'replpass';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
解释:
grant replication slave ,replication client #创建用户账号:replication slave ,replication client
on *.* 复制所有库,*.* 代表表示所有库,如果是指定库则写库名
to 'repluser ' 用来复制的 用户
@'192.168.25.%' 那些主机
identified by'replpass'; 定义密码为replpass
flush privileges; 提交
最后查看防火墙是否阻断3306端口
二、从服务器:192.168.25.77
1.设置数据库的配置
vim /etc/my.cnf
replay-log=replay-log #启动中继日志
server-id=7 #前节从节点一个全局的ID号
innodb_file_per_table=ON
skip_name_resolve=ON
2.启动数据库:systemctl start mariadb
3.登录 MySQL
MariaDB [mydb]> show global variables like '%log%'; #查看中继日志是否打开
MariaDB [mydb]>show global variables like '%server%' 查看server-ID是否和配置文件一样是7
4.使用有复制权限的用户账号链接主服务器,并启动复制线程
MariaDB [mydb]> change master to MASTER_HOST='192.168.25.7',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=498;
解释:
change master to 切换主节点
MASTER_HOST='192.168.25.7', 主节点主机名
MASTER_USER='repluser', 主节点那个有复制权限
MASTER_PASSWORD='replpass', 复制者的密码是什么
MASTER_LOG_FILE='master-bin.000003', 从主节点的那个二进制文件开始复制
MASTER_LOG_POS=498; 从主节点的二进制文件那个位置开始复制
注意:二进制文件的复制可以是最新的日志,位置可以用: show master logs; #查看启动的二进制日志的最新位置
查看启动的二进制日志
5.查看状态:MariaDB [(none)]> show slave status\G;
6.打开复制线程
MariaDB [mydb]> show tables;
7.再次查看状态:MariaDB [(none)]> show slave status\G;
三、实验
在主服务器创建一个数据库:
从服务器:
主服务器:二进制日志的位置:
从服务器:二进制日志的位置: