MySQL主从同步

2019/12/28 数据库

MySQL主从同步

一.主库没有数据情况下:

1.主库配置:

/etc/my.cnf

[mysqld]
#Server Id 和 log-bin ,用来做主从复制用
server-id=1
log-bin=/opt/wiki/mysql-5.7.27/log/log-bin
binlog-do-db=xwiki

2.从库配置:

server-id=2

3.从库服务器登陆mysql,

停止slave连接到主库:

stop slave;

连接到主库:

change master to master_host='172.25.218.110', master_port=3306, master_user='xwiki', master_password='xwiki';

开启slave连接到主库:

start slave;

查看slave状态:

show slave status\G;

如果以下值则成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

二.主库已有数据情况下:

1.锁定主库:

flush tables with read lock;

2.主库查看master状态信息:

show master status;

3.主库服务器在/etc/my.cnf 文件中配置mysqldump相关信息:

[mysqldump]
user=xwiki
password=xwiki
socket=/opt/wiki/mysql-5.7.27/mysql.sock

4.使用mysqldump工具生成已有数据的sql文件:

/opt/wiki/mysql-5.7.27/mysqldump xwiki >backup.sql

5.sql文件copy到从库服务器

6.从库服务器,登陆mysql,

创建主库备份的数据库:

create database xwiki;

执行sql文件,导入数据:

cat backup.sql | mysql xwiki;

更新连接到主库的信息(更新前停止连接到主库,更新后开启,这两个值从主库查到的信息获取):

change master to master_log_file='log_bin0001', master_log_pos=154;

7.解锁主库:

unlock tables;

Search

    Table of Contents