MySQL-未完(主从目的和原理、备份数据-配置主服务器-配置从-连接主并同步)

通过读写分离 、数据备份、负载均衡最终体现效率

实际开发中,至少要有两台服务器

client: 客户端C        sever:服务器S

master:主服务器        slave:从服务器

从随主变

至少两台服务器的作用:主服务器上的所有数据备份到从服务器

手动备份:麻烦,不可取;

解决方法:主服务器与从服务器进行关联,从服务器自动向主服务器请求数据(从随主变)

防止丢失

不管主、从谁挂了,数据都不会丢失

负载均衡

一台从不够,多几台,更新在主里,查看是部分在从,部分在另一个从,效率快

MySQL主从同步配置

1. 主从同步的定义

主从同步使得数据可以从一个数据库服务器复制到其他服务器上

2. 主从同步的机制( Master:主服务器        Slave:从服务器)

主从核心点:

write时——>Master里会有数据——>Date changes会记录——>向二进制的log文件写入如何改的、改了什么——>从服务器需要配置——>用I/O thread多线程的方式进行I/O操作(读-写、网络收-发)——>拿到数据——>把拿到的数据与之前的比对——>进行更改——>数据一致

完成主从要点:

1.    配置主服务器log文件

2.    给主、从分别配置唯一的序列号,并用命令告诉主应改把谁当成主服务器从而去那里不断请求,这时就同步了

如何导数据?

windows为主,Ubuntu为从的配置

配置主:

打开C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

改为与图片相符

重启服务: home键——>搜索服务——>找到MySQL57——>右键——>重新启动

配置从:

-- 编辑设置mysqld的配置文件,设置log_bin和server-id

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

-- 上面不好使用这个(记得权限:sudo chmod 777 /etc/mysql/mysql.conf.d/mysqld.cnf)

gedit /etc/mysql/mysql.conf.d/mysqld.cnf

改为与下图一样

-- 修改之后重启mysql服务

sudo service mysql restart

-- 登入主服务器Windows中的mysql,给从服务器同步数据添加的帐号

-- 登录主服务器

mysql –uroot –p2361559775

-- REPLICATION SLAVE:可以让从服务器在主服务器复制  ON:哪一个数据库的哪一个表 *.*:所有的数据库所有的表 to:给谁 'slave':新用户名 '%':任意一台机器登录 最后一个引号里是密码

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';

-- 刷新权限才可以

FLUSH PRIVILEGES;

-- 用来找master_log_file和master_log_pos的值

show master status;

-- 查找ip(master_host的值)

ipconfig

-- (从)进入Ubuntu的mysql,设置连接到master主服务器(账户、密码必须和刚刚创建的一一对应)master_log_file的值复制刚刚查到的file的值、 master_log_pos的值复制查到的Position的值

change master to master_host='192.168.57.1', master_user='slave', master_password='slave',master_log_file='LAPTOP-5VF2SFCR-bin.000001', master_log_pos=600;

你可能感兴趣的:(MySQL-未完(主从目的和原理、备份数据-配置主服务器-配置从-连接主并同步))