虚拟机实现mysql主从同步简单介绍
一、从服务器主动同步主服务器
首先定义两台服务器
主服务器:192.168.203.33
从服务器:192.168.203.44
1 、主从服务器都安装服务 - 开启服务
yum -y install mysql mysql-server
service mysqld start
mysqladmin -uroot password 123
2 、修改配置文件:vim /etc/my.cnf
主、从都需添加
log-bin=mysql-bin 开起二进制日志文件
server-id=xx 申明本台 mysql 服务器 ID
主服务器:
从服务器:
修改了配置文件,一定重新启动:
service mysqld restart
3 、进入数据库(主服务器 33)
创建从服务器授权用户:
grant replication slave on *.* to ' 用户 '@'%' identified by ' 密码 ';
命令:grant all on *.* to 'cong44'@'%' identified by '123';
show master status; 查看二进制文件名,以及大小
4 、进入数据库(从服务器 44)
登录
msyql:mysql -uroot -p
语 法 :
change master to master_host=’ 主 服 务 器 IP’,master_user=’ 用 户’,master_password=’ 密码 ‘,master_log_file=’ 二进制文件’,master_log_pos= 文件空间大小 ;
命令:
change master to master_host='192.168.203.33',master_user='cong44',master_password='123',master_log_file='mysql-bin.000001',master_log_pos=246;
5 、确定从主服务器同步
show slave status\G; 查看同步服务开启状态
start slave; 如果同步状态没有启动,则开启
Slave_IO_Running: Yes 如果失败,是授权失败了,重新授权
Slave_SQL_Running: Yes 如果失败,是因为二进制文件不一致导致的,重新查看一下主服
务器的二进制文件大小,再授权一次就可以了,授权的时候,关闭同步服务:stop slave;
6 、进入数据库(主服务器 33)
创建数据库:create database yunjisuan;
选择数据库:use yunjisuan;
创建表:create table student ( id int primary key auto_increment, name varchar(10) );
插入数据:insert into student values (null,‘qiang’);
再进入从服务器 mysql 服务 44:
就可以看到有另一个数据库 yunjisuan,并存在一张表,student,查询显示了,主服务器
中插入的数据,表示主从服务器,设置成功
二、同步主库已有数据到从库
1、停止主库的数据更新操作
flush tables with read lock;
2、新开终端,生成主数据库的备份(导出数据库)
mysqldump -uroot -p test > test.sql
输入密码
3、在从库将备份将从主库拷贝过来
scp root@20.20.24.10:/root/test.sql /root/
4、主库解锁
unlock tables;
5、停止从库slave
stop slave;
6、新建数据库test
create database test default charset utf8;
7、导入数据
mysql -u root -p 123456 test > test.sql
8、查看从库已有该数据库和数据
show databases;