linux5月16日课笔记 说明:有不少同学不能一次性把实验做成功,这是因为还不熟悉,建议至少做3遍

17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步

有的同学,遇到主从不能正常同步,提示uuid相同的错误。这是因为克隆机器导致。 https://www.2cto.com/database/201412/364479.html

17.1 MySQL主从介绍

先到r.aminglinux下载一个5.6版本64位的mysql,解压。

解压完的目录,移动到这里

创建用户 进入到里面,初始化

检查是否初始化成功,看是否有两ok,或者用echo $?

配置配置文件

拷贝配置文件。

编辑它

报错了,查看错误日志。

查看更多。 权限变成root root

要改回来。

启动成功。

第二个主机也要启动起来。

如果要开机启动,要运行如下命令。

17.3 配置主

编辑配置文件。

加入两行:server-id=129 log_bin=aminglinux2

重启mysql

aminglinux1.ind 为前缀的文件,很重要,是实现主从的根本。

为了不损坏之前做的blog,备份一个出来。

创建一个新的库:

把数据恢复回来

创建用户:

进入msql

创建用户,命令如下:

锁一下,不再写数据。这样才能两者保持同步。

查看master 的状态,这些数据是要记录的,一会要在slave端用到:

为了和生产环境一样,尽量把库备份过去。在从上,同步如下库,mysql不用同步,里面存在着很多用户密码,不可能把全部复制过去:

下一步,把/tmp/下的sql文件拷贝到从

17.4 配置从

查看一下mysql服务有没有启动?

编辑按文件/etc/my.cnf

写入server-id=132

重启

拷贝过去

命令不存在,因为没有创建PATH

做alias

进入mysql

创建用户

恢复数据

查看两边是不是一致

登录进来。

用主上的master里的数据

查看,有没有配置成功,如果成功了会有两个YES。

在主上运行如下命令:

17.5 测试主从同步

主的操作如下:

从的操作如下:

主上面清空

主上面上查询,还有一行,内容是空的。

从上的操作:

在主上的操作,清空表,

在从上的操作,查看表,表没有了

在从上的操作:把数据库删了,会导致主从不一致。

在主上的操作:执行命令drop database aming;

在从上的操作:再执行命令drop database aming;

aming数据库不存在,显示如下: //因为在从上已经把数据删除了。

修复的方法如下:

如果还是有错,需要重新创建主从。

重新做主从,操作如下:

主:

从:

直接复制刚才的命令,除了master_log_pos需要改为主的的position,因为没有更改数据,数据是一致的。