时间:2021-07-01 10:21:17 帮助过:3人阅读
首先我们说说主从复制的原理,这个是必须要理解的玩意儿:
理解:
MySQL之间的数据复制的基础就是二进制日志文件bin log ,Master的所有操作都会纪录在二进制日志文件中,其他MySQL通过一个IO线程与其进行通信,监控这个日志文件的变化,并将变化赋值到Slave的中继日志relay中,然后SQL线程会执行中继日志中的相关操作,以此实现主从数据库的一致性,也就是主从复制
准备材料如下:
分别装在两台Linux服务器上的数据库
master:192.168.159.159
slave : 192.168.159.169
master数据库配置文件修改:my.cnf
各自的安装方式不一样,我是通过rpm方式安装的,
在这里扩展一下: 通过这两个命令,大致发现了我的MySQL的安装目录
当然我的配置文件在在 /etc/mysql/my.cnf 在[mysqld]段下添加如下内容
log-bin=mysql-bin
server-id=159
然后重启Mysql: service mysqld restart
登录到MySQL建立账户并授权给Slave
mysql> CREATE USER ‘chen‘@‘192.168.159.169‘ IDENTIFIED BY ‘chen‘; #创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘192.168.159.169‘; #为其权限
mysql>flush privileges; #刷新权限
然后查看master状态,记录二进制文件名( mysql-bin.000002 ) 和位置(787)
第一步修改从服务器的配置文件 : my.conf : server-id=135
第二步删除UUID文件: /var/lib/mysql/auto.cnf 后重新启动服务
第三步登入MySQL,进行从服务器的配置 ,并开启从服务器复制功能
change master to master_host=‘192.168.159.159‘,master_port=3306,master_user=‘chen‘,master_password=‘chen‘,master_log_file=‘mysql-bin.000002‘,master_log_pos=787;
开启从服务器的复制功能 : start slave;
检查从服务器的复制功能状态:show slave status
逆水行舟 —— MySQL主从复制
标签:auto key res inf 配置 end change code service