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;
|
|