应用的场景:
1:从服务器作为主服务器的实时数据备份
2:主从服务器实时读写分离,从服务器实现负载均衡
3:把多个服务器根据业务的重要性,进行拆分访问
环境搭建:
MySQL的版本(主从的MySQL是一样的)是:
虚拟机是centos7
本机的系统是wind10
节点:
安装虚拟机前,需要检查一下是否残留有MySQL;
#rpm -qa|grep -i mysql
#find / -name mysql(找到剩余的文件)
#rv -rf 文件
此时安装mysql。
rpm -ivh mysql-5.5.25.e.rpm --force --nodeps(强制安装)
安装完一个MySQL,我们来安装另一个MySQL,命令同上。
如果忘记了密码
#vim /etc/my.cnf
【mysqld】添加
skip-grant-tables
可以直接登录,不需要密码
然后设置密码。
set password for root@localhost = password('123456');
Flush privileges
刷新权限
然后重启mysqld
配置主从同步
主从都要创建同一个命名的数据库,作为库同步。
然后打开主服务器,配置信息
打开# vim /etc/my.cnf
添加如下:
log-bin=master-a-bin #日志文件名称
binlog-format=ROW #二进制日志文件
server-id=1 #要求每个服务器的标识都不一样
binlog-do-db=test #同步的数据库名称
添加一个从服务器登录主服务器的权限
grant replication slave on *.* to 'root'@'192.168.57.201' identified by '123456';
flush priviliages;
打开从服务器,配置信息
打开
#vim /etc/my.cnf
添加如下内容:
log-bin=master-a-bin #日志名跟主服务器一样
binlog-format=ROW
server-id=2
log-server-updates=true #中继日志执行后,是否计入。主从相互备份
配置完成
重启主服务器
show master status (查看状态)
也重启从服务器
servie mysqld restart;
change master to
master_host='192.168.57.201',master_user='root',master_password='123456',master_port=3309
master_log_file='master-a-bin.00001',master_log_pos=154.#
#重启从服务器
start slave;
#查看文字
show slave status