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,因为没有更改数据,数据是一致的。