当前位置:Gxlcms > 数据库问题 > MySQL主从配置

MySQL主从配置

时间:2021-07-01 10:21:17 帮助过:20人阅读

MySQL主从配置

MySQL主从又叫做Replication、AB复制,两台机器做主从配置之后,数据实时同步

主从配置大致步骤

①主将更改操作记录到binlog里

②从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里,中继日志

③从根据relaylog里面的sql语句按顺序执行

技术图片

主配置(安装完mysql的虚拟机)

基础配置

# vi /etc/my.cnf

编辑配置文件

技术图片

# /etc/init.d/mysqld restart

重启mysqld服务

技术图片

# mysqldump -uroot mysql > /tmp/mysql.sql

备份mysql库(加入环境变量)

技术图片

# mysql -uroot -e "create database kei"

创建一个库保存数据

# mysql -uroot kei < /tmp/mysql.sql

将mysql库恢复成新建的库,作为测试数据

数据库配置

# mysql -uroot

进入数据库(没有密码)

> grant replication slave on *.* to ‘repl‘ @192.168.37.13 identified by ‘123456‘;

创建用作同步数据的用户并赋予权限

技术图片

> flush tables with read lock;

将表锁住,保持表内数据不变

技术图片

> show master status;

显示主机状态

技术图片

 

从配置(安装完mysql的虚拟机)

基础配置

# vi /etc/my.cnf

编辑配置文件

技术图片

# /etc/init.d/mysqld restart

重启mysqld服务

技术图片

# scp /tmp/mysql.sql root@192.168.37.13:/tmp/

在主上将文件拷贝到从上,并在从上查看文件大小是否一致

技术图片

# mysql -uroot -e "create database kei"

创建一个和主一样的库

技术图片

# mysql -uroot kei < /tmp/mysql.sql

将文件内容导入库

数据库配置

# mysql -uroot

进入数据库(没有密码)

> change master to master_host=‘192.168.37.12‘,master_user=‘repl‘,master_password=‘123456‘,master_log_file=‘linux1.000001‘,master_log_pos=698861;

技术图片

> unlock tables;

在主上执行解锁表

技术图片

检验主从配置

> show slave status\G;

在从上执行命令,查看(将防火墙关闭)

 技术图片

 技术图片

# mysql -uroot kei

在主上进入数据库

> select count(*) from db;

> truncate table db;

技术图片

# mysql -uroot kei

在从上进入数据库

> select count(*) from db;

技术图片

> drop table db;

 

MySQL主从配置

标签:jpg   grant   更改   com   table   info   tables   master   同步数据   

人气教程排行