Linux中mysql的主从同步
首先我们要在vmware中装三(也可以两台)台虚拟机
然后安装mysql,装完之后我们开始操作
先给大家看一下我之前安装好的三台虚拟机
好了现在开始操作;
首先我们要看一下我们三台服务器的ip
有一点必须要注意,在我们配置服务器之前一定要把防火墙关掉;
在这里我就不一一演示了;
首先我们要建立的是时间同步器,在服务器上安装ntp
yum install -y ntpd
cp -p /etc/ntp.cnf /etc/ntp.conf.origin
vim /etc/ntp.cnf
添加这两行;
然后再到从服务器上安装ntpdate
这样就和主服务器时间同步了;
现在我们开始配置主服务器;
vim /etc/my.cnf
添加这三行代码;
server-id = 1 这是数据库ID,此ID唯一,主库用默认的1即可,从库调整为2,多个从库的ID依次类推,切不可有相同ID出现,这样会造成同步出错。在这里我已我的ip最后一位为id了。
log-bin=mysql-bin 二进制日志文件,此项必须启用,从库需要通过它进行数据同步。配置主库其实就检查这2个选项。
Log-slave-updates=true 手动添加开启从日志。
现在我们建立同步用的数据库账户
主库必须提供一个账户让从库通过此账户进行连接并进行同步,进入mysql后输入下面命令
记得要刷新权限;
然后我们查看主库信息并记录;
将上面的日志名master-bin.000009和偏移量154记录下来;
现在我们在配置从服务器;
vim /etc/my.cnf
在【mysqld】中插入这三行;
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
server-id=209
然后重启服务器;
进入从库中与主库进行同步设置连接MASTER MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position
现在我们运行slave服务;
然后查看slave的状态;
OK,Slave_IO_Runnging:Yes,Slave_SQL_Running:Yes,这就说明主从联通了;
那么我们来测试一下;
我们在主服务器里创建一个数据库,然后再观察从服务器那边会不会显示出来;
现在我们在从服务器这边来看一下;
Ok.刚刚建的库已经同步过来了!其它的也是如此。