欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL主从备份

程序员文章站 2022-04-09 12:48:02
...

关于Mysql的安装可以参照我的另一篇文章:Linux下Mysql安装

本文介绍的是Mysql的主从备份配置

环境介绍:

系统:ubuntu16.04 64位

master:192.168.1.222

slave1:192.168.1.223

slave2:192.168.1.224

三台机器都预先装好了mysql,并都创建了测试数据库vingo,测试表test

一、master配置

1. 登录mysql

mysql -uroot -p

2. 新建备份账号并授权

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%' IDENTIFIED BY 'mysql';
mysql>FLUSH PRIVILEGES;

3. 修改mysql配置

vim /etc/my.cnf

server-id = 222 #服务器唯一标识,直接使用IP末尾
log_bin = master-bin  #启动二进制日志
log_bin_index = master-bin.index
binlog_do_db = vingo  #指定记录二进制日志的数据库
binlog_ignore_db= mysql  #指定不记录二进制日志的数据库

4. 重启服务

cd /usr/local/mysql/support-files

./mysql.server restart

5. 登录mysql查看master状态

mysql>show master status;

MySQL主从备份

二、slave配置

slave1和slave2都要进行如下配置,差别仅是mysql配置中的server-id,slave1是223,slave2是224

1. 修改mysql配置

vim /etc/my.cnf

server-id = 223
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index

2. 重启服务

cd /usr/local/mysql/support-files

./mysql.server restart

3. 登录mysql,连接master

mysql>change master to master_host='192.168.1.222',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=154;

master_host:master的IP
master_port:master的端口
master_user:步骤一中创建的复制账号
master_password:复制账号的密码
master_log_file和master_log_pos:对应步骤一最后查看的master状态值

4. 启动slave同步

mysql>start slave;

5. 查看slave状态

mysql>show slave status\G;

MySQL主从备份
slave_io_running和slave_sql_running都为yes,就说明配置成功了

三、 测试

在master中执行insert into test(name) values('测试是否同步');

去slave1和slave2中查询test表看看是否能查到刚insert的记录,有就证明成功了