- 配置master主机
- 查看主机是否开启binlog日志
登录数据库 :mysql -uroot -p
进入数据库后,再输入: show variables like '%log_bin%‘;产看数据库的binlog是否开启。如果是on则已打开,不需要再次打开,如果是off 则需要进入配置
- 配置binlog
log-bin=mysql-bin
server-id=214 (id不重复即可)
配置完成重启mysql,进入再次查看binlog是否开启
重启数据库:systemctl restart mysqld 或 service mysqld restart
确定已打开:
- 创建用户:create user tanliming identified by '123456';
授予权限:grant all privileges on *.* to 'tanliming'@'%' identified by '123456';
- 配置从机;
`1.登录数据库:mysql -uroot -p
查看从机中继日志:show variables like '%relay%'
2. 配置中继日志 quit;退出数据库操作,配置中继日志:vim /etc/my.cnf
末尾配置:
relay-log=relay-log
relay-log-index=relay-log.index
配置后重启:service mysqld restart
- .查看主机节点信息; 在主机登录mysql操作
- 登录mysql从机:输入show variables like '%relay_log';
Change master to master_host='192.168.186.100' ,master_user='tanliming',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=689;
在数据库中启动复制线程:start slave;最后输入:show slave status\G; 查看连接是否生效
- 克隆机操作需要修改uuid;
如果安装了一台linux 又克隆了两台,一主两从 , 关键点就在于我是克隆的,才导致了报Slave_IO_Running: NO
原因:mysql 有个uuid , 然而uuid 是唯一标识的,所以我克隆过来的uuid是一样的,只需要修改一下uuid 就ok了,找到auto.cnf 文件修改uuid。auto.cnf文件一般在 /var/lib/mysql/auto.cnf , 如果没有那就用linux 查询命令找:find -name auto.cnf